Android: Deleting selected list item
So i have this class called ShowActivity.java. In this class i get a list from a sqlite database.
I have added two buttons on this ListView Show Data and Delete Data. So once i select a list Item i would like to perform any one of the operation(Show Data or Delete that selected Row) based on button click event.
In this below code. What i have done is i am selecting a row and once i click on a row item i get a complete toast with an information of that row.
What i want to do is:
Once i select a row If I click on show data button i should get a toast of information what i am getting right now. Or
Once i select a row If I click on delete data button i should delete that data from listview as well as database.
public class ShowlistActivity extends Activity {
String myBtnListener;
private ListView listView;
Button showBtn =findViewById(R.id.show_btn);
Button deleteBtn=findViewById(R.id.delete_btn)
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
listView = (ListView) this.findViewById(R.id.checkout_listview);
listView.setOnItemClickListener(new ItemClickListener());
// get the sql string delivered from the QueryActivity
Intent intent = this.getIntent();
String sql = intent.getStringExtra("sql");
// execute the sql
Cursor cursor = DBOperator.getInstance().execQuery(sql);
// bind the data to list
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
getApplicationContext(), R.layout.listitem_ehr, cursor,
new String { "PaFirstName", "VisitDate", "MedIssue" }, new
int {
R.id.stname, R.id.coduedate, R.id.lbtitle },
SimpleCursorAdapter.IGNORE_ITEM_VIEW_TYPE);
listView.setAdapter(adapter);
showBtn.setOnClickListener(myBtnListener);
button2.setOnClickListener(myBtnListener);
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.button1_id:
//do button 1 action
break;
case R.id.button2_id:
//do button 2 action
break;
}
}
}
}
private class ItemClickListener implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
Cursor cursor = (Cursor) listView.getItemAtPosition(position);
String stid = cursor.getString(0);
String lbtitle = cursor.getString(1);
String coduedate = cursor.getString(2);
//String coreturned = cursor.getString(3);
// cofine = cursor.getString(4);
//String stname = cursor.getString(5);
Toast.makeText(getApplicationContext(),"Student ID: " + stid + "nStudent Name: " + lbtitle+ "nBook Title: " + coduedate , Toast.LENGTH_LONG).show();
}
}
}
java android sqlite android-studio
add a comment |
So i have this class called ShowActivity.java. In this class i get a list from a sqlite database.
I have added two buttons on this ListView Show Data and Delete Data. So once i select a list Item i would like to perform any one of the operation(Show Data or Delete that selected Row) based on button click event.
In this below code. What i have done is i am selecting a row and once i click on a row item i get a complete toast with an information of that row.
What i want to do is:
Once i select a row If I click on show data button i should get a toast of information what i am getting right now. Or
Once i select a row If I click on delete data button i should delete that data from listview as well as database.
public class ShowlistActivity extends Activity {
String myBtnListener;
private ListView listView;
Button showBtn =findViewById(R.id.show_btn);
Button deleteBtn=findViewById(R.id.delete_btn)
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
listView = (ListView) this.findViewById(R.id.checkout_listview);
listView.setOnItemClickListener(new ItemClickListener());
// get the sql string delivered from the QueryActivity
Intent intent = this.getIntent();
String sql = intent.getStringExtra("sql");
// execute the sql
Cursor cursor = DBOperator.getInstance().execQuery(sql);
// bind the data to list
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
getApplicationContext(), R.layout.listitem_ehr, cursor,
new String { "PaFirstName", "VisitDate", "MedIssue" }, new
int {
R.id.stname, R.id.coduedate, R.id.lbtitle },
SimpleCursorAdapter.IGNORE_ITEM_VIEW_TYPE);
listView.setAdapter(adapter);
showBtn.setOnClickListener(myBtnListener);
button2.setOnClickListener(myBtnListener);
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.button1_id:
//do button 1 action
break;
case R.id.button2_id:
//do button 2 action
break;
}
}
}
}
private class ItemClickListener implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
Cursor cursor = (Cursor) listView.getItemAtPosition(position);
String stid = cursor.getString(0);
String lbtitle = cursor.getString(1);
String coduedate = cursor.getString(2);
//String coreturned = cursor.getString(3);
// cofine = cursor.getString(4);
//String stname = cursor.getString(5);
Toast.makeText(getApplicationContext(),"Student ID: " + stid + "nStudent Name: " + lbtitle+ "nBook Title: " + coduedate , Toast.LENGTH_LONG).show();
}
}
}
java android sqlite android-studio
Possible duplicate of Setting click listener on button in Listview row layout
– Jantzilla
Nov 21 '18 at 2:32
I have seen this solution. Does not fit in my question. I want to show a toast when row is selected and show button is clicked. And other thing is i want to delete a selcted row on delete button click event.
– Nick
Nov 21 '18 at 3:15
add a comment |
So i have this class called ShowActivity.java. In this class i get a list from a sqlite database.
I have added two buttons on this ListView Show Data and Delete Data. So once i select a list Item i would like to perform any one of the operation(Show Data or Delete that selected Row) based on button click event.
In this below code. What i have done is i am selecting a row and once i click on a row item i get a complete toast with an information of that row.
What i want to do is:
Once i select a row If I click on show data button i should get a toast of information what i am getting right now. Or
Once i select a row If I click on delete data button i should delete that data from listview as well as database.
public class ShowlistActivity extends Activity {
String myBtnListener;
private ListView listView;
Button showBtn =findViewById(R.id.show_btn);
Button deleteBtn=findViewById(R.id.delete_btn)
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
listView = (ListView) this.findViewById(R.id.checkout_listview);
listView.setOnItemClickListener(new ItemClickListener());
// get the sql string delivered from the QueryActivity
Intent intent = this.getIntent();
String sql = intent.getStringExtra("sql");
// execute the sql
Cursor cursor = DBOperator.getInstance().execQuery(sql);
// bind the data to list
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
getApplicationContext(), R.layout.listitem_ehr, cursor,
new String { "PaFirstName", "VisitDate", "MedIssue" }, new
int {
R.id.stname, R.id.coduedate, R.id.lbtitle },
SimpleCursorAdapter.IGNORE_ITEM_VIEW_TYPE);
listView.setAdapter(adapter);
showBtn.setOnClickListener(myBtnListener);
button2.setOnClickListener(myBtnListener);
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.button1_id:
//do button 1 action
break;
case R.id.button2_id:
//do button 2 action
break;
}
}
}
}
private class ItemClickListener implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
Cursor cursor = (Cursor) listView.getItemAtPosition(position);
String stid = cursor.getString(0);
String lbtitle = cursor.getString(1);
String coduedate = cursor.getString(2);
//String coreturned = cursor.getString(3);
// cofine = cursor.getString(4);
//String stname = cursor.getString(5);
Toast.makeText(getApplicationContext(),"Student ID: " + stid + "nStudent Name: " + lbtitle+ "nBook Title: " + coduedate , Toast.LENGTH_LONG).show();
}
}
}
java android sqlite android-studio
So i have this class called ShowActivity.java. In this class i get a list from a sqlite database.
I have added two buttons on this ListView Show Data and Delete Data. So once i select a list Item i would like to perform any one of the operation(Show Data or Delete that selected Row) based on button click event.
In this below code. What i have done is i am selecting a row and once i click on a row item i get a complete toast with an information of that row.
What i want to do is:
Once i select a row If I click on show data button i should get a toast of information what i am getting right now. Or
Once i select a row If I click on delete data button i should delete that data from listview as well as database.
public class ShowlistActivity extends Activity {
String myBtnListener;
private ListView listView;
Button showBtn =findViewById(R.id.show_btn);
Button deleteBtn=findViewById(R.id.delete_btn)
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
listView = (ListView) this.findViewById(R.id.checkout_listview);
listView.setOnItemClickListener(new ItemClickListener());
// get the sql string delivered from the QueryActivity
Intent intent = this.getIntent();
String sql = intent.getStringExtra("sql");
// execute the sql
Cursor cursor = DBOperator.getInstance().execQuery(sql);
// bind the data to list
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
getApplicationContext(), R.layout.listitem_ehr, cursor,
new String { "PaFirstName", "VisitDate", "MedIssue" }, new
int {
R.id.stname, R.id.coduedate, R.id.lbtitle },
SimpleCursorAdapter.IGNORE_ITEM_VIEW_TYPE);
listView.setAdapter(adapter);
showBtn.setOnClickListener(myBtnListener);
button2.setOnClickListener(myBtnListener);
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.button1_id:
//do button 1 action
break;
case R.id.button2_id:
//do button 2 action
break;
}
}
}
}
private class ItemClickListener implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
Cursor cursor = (Cursor) listView.getItemAtPosition(position);
String stid = cursor.getString(0);
String lbtitle = cursor.getString(1);
String coduedate = cursor.getString(2);
//String coreturned = cursor.getString(3);
// cofine = cursor.getString(4);
//String stname = cursor.getString(5);
Toast.makeText(getApplicationContext(),"Student ID: " + stid + "nStudent Name: " + lbtitle+ "nBook Title: " + coduedate , Toast.LENGTH_LONG).show();
}
}
}
java android sqlite android-studio
java android sqlite android-studio
edited Nov 21 '18 at 3:38
Nick
asked Nov 21 '18 at 2:06
NickNick
95
95
Possible duplicate of Setting click listener on button in Listview row layout
– Jantzilla
Nov 21 '18 at 2:32
I have seen this solution. Does not fit in my question. I want to show a toast when row is selected and show button is clicked. And other thing is i want to delete a selcted row on delete button click event.
– Nick
Nov 21 '18 at 3:15
add a comment |
Possible duplicate of Setting click listener on button in Listview row layout
– Jantzilla
Nov 21 '18 at 2:32
I have seen this solution. Does not fit in my question. I want to show a toast when row is selected and show button is clicked. And other thing is i want to delete a selcted row on delete button click event.
– Nick
Nov 21 '18 at 3:15
Possible duplicate of Setting click listener on button in Listview row layout
– Jantzilla
Nov 21 '18 at 2:32
Possible duplicate of Setting click listener on button in Listview row layout
– Jantzilla
Nov 21 '18 at 2:32
I have seen this solution. Does not fit in my question. I want to show a toast when row is selected and show button is clicked. And other thing is i want to delete a selcted row on delete button click event.
– Nick
Nov 21 '18 at 3:15
I have seen this solution. Does not fit in my question. I want to show a toast when row is selected and show button is clicked. And other thing is i want to delete a selcted row on delete button click event.
– Nick
Nov 21 '18 at 3:15
add a comment |
1 Answer
1
active
oldest
votes
Add a choice mode to your listview. rounded_border
is a custom drawable you make to serve as selected item indicator.
android:choiceMode="singleChoice"
android:listSelector="@drawable/rounded_border"
The update your onCreate
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
...
...
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listView.getCheckedItemPosition() >= 0) {
//get the object
Cursor selectedCursor = (Cursor) listView.getItemAtPosition(listView.getCheckedItemPosition());
switch(view.getId()){
case R.id.show_btn:
//show selectedCursor details
break;
case R.id.delete_btn:
String stid = selectedCursor.getString(0);
//change the stud_id to your database field id name
String sql = "DELETE FROM Student WHERE stud_id = '" + stid + "'";
Cursor cursor = DBOperator.getInstance().execQuery(sql);
adapter.changeCursor(cursor);
break;
}
}
}
}
showBtn.setOnClickListener(myBtnListener);
deleteBtn.setOnClickListener(myBtnListener);
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53404347%2fandroid-deleting-selected-list-item%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Add a choice mode to your listview. rounded_border
is a custom drawable you make to serve as selected item indicator.
android:choiceMode="singleChoice"
android:listSelector="@drawable/rounded_border"
The update your onCreate
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
...
...
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listView.getCheckedItemPosition() >= 0) {
//get the object
Cursor selectedCursor = (Cursor) listView.getItemAtPosition(listView.getCheckedItemPosition());
switch(view.getId()){
case R.id.show_btn:
//show selectedCursor details
break;
case R.id.delete_btn:
String stid = selectedCursor.getString(0);
//change the stud_id to your database field id name
String sql = "DELETE FROM Student WHERE stud_id = '" + stid + "'";
Cursor cursor = DBOperator.getInstance().execQuery(sql);
adapter.changeCursor(cursor);
break;
}
}
}
}
showBtn.setOnClickListener(myBtnListener);
deleteBtn.setOnClickListener(myBtnListener);
}
add a comment |
Add a choice mode to your listview. rounded_border
is a custom drawable you make to serve as selected item indicator.
android:choiceMode="singleChoice"
android:listSelector="@drawable/rounded_border"
The update your onCreate
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
...
...
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listView.getCheckedItemPosition() >= 0) {
//get the object
Cursor selectedCursor = (Cursor) listView.getItemAtPosition(listView.getCheckedItemPosition());
switch(view.getId()){
case R.id.show_btn:
//show selectedCursor details
break;
case R.id.delete_btn:
String stid = selectedCursor.getString(0);
//change the stud_id to your database field id name
String sql = "DELETE FROM Student WHERE stud_id = '" + stid + "'";
Cursor cursor = DBOperator.getInstance().execQuery(sql);
adapter.changeCursor(cursor);
break;
}
}
}
}
showBtn.setOnClickListener(myBtnListener);
deleteBtn.setOnClickListener(myBtnListener);
}
add a comment |
Add a choice mode to your listview. rounded_border
is a custom drawable you make to serve as selected item indicator.
android:choiceMode="singleChoice"
android:listSelector="@drawable/rounded_border"
The update your onCreate
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
...
...
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listView.getCheckedItemPosition() >= 0) {
//get the object
Cursor selectedCursor = (Cursor) listView.getItemAtPosition(listView.getCheckedItemPosition());
switch(view.getId()){
case R.id.show_btn:
//show selectedCursor details
break;
case R.id.delete_btn:
String stid = selectedCursor.getString(0);
//change the stud_id to your database field id name
String sql = "DELETE FROM Student WHERE stud_id = '" + stid + "'";
Cursor cursor = DBOperator.getInstance().execQuery(sql);
adapter.changeCursor(cursor);
break;
}
}
}
}
showBtn.setOnClickListener(myBtnListener);
deleteBtn.setOnClickListener(myBtnListener);
}
Add a choice mode to your listview. rounded_border
is a custom drawable you make to serve as selected item indicator.
android:choiceMode="singleChoice"
android:listSelector="@drawable/rounded_border"
The update your onCreate
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showlist_ehr);
...
...
View.OnClickListener myBtnListener= new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listView.getCheckedItemPosition() >= 0) {
//get the object
Cursor selectedCursor = (Cursor) listView.getItemAtPosition(listView.getCheckedItemPosition());
switch(view.getId()){
case R.id.show_btn:
//show selectedCursor details
break;
case R.id.delete_btn:
String stid = selectedCursor.getString(0);
//change the stud_id to your database field id name
String sql = "DELETE FROM Student WHERE stud_id = '" + stid + "'";
Cursor cursor = DBOperator.getInstance().execQuery(sql);
adapter.changeCursor(cursor);
break;
}
}
}
}
showBtn.setOnClickListener(myBtnListener);
deleteBtn.setOnClickListener(myBtnListener);
}
edited Nov 21 '18 at 8:37
answered Nov 21 '18 at 2:51
Android_K.DoeAndroid_K.Doe
655119
655119
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53404347%2fandroid-deleting-selected-list-item%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Possible duplicate of Setting click listener on button in Listview row layout
– Jantzilla
Nov 21 '18 at 2:32
I have seen this solution. Does not fit in my question. I want to show a toast when row is selected and show button is clicked. And other thing is i want to delete a selcted row on delete button click event.
– Nick
Nov 21 '18 at 3:15