Как удалить определенный проверенный элемент списка в Android с помощью базы данных - PullRequest
1 голос
/ 22 февраля 2012

Я сильно запутался, как удалить элемент списка для проверенных.Здесь я включаю мой полный код, пожалуйста, помогите мне.

Во-первых, листинг шутка на закладку. JokList.Java

Во-вторых, где я делаю свои запросы. DatabaseHelper.java

и, наконец, где это мое намерение удалить отмеченный элемент. bookjok.java

Надеюсь, вы дадите мне совет.Я страдаю от этой проблемы с 1 недели. Спасибо заранее.

1 Ответ

0 голосов
/ 22 февраля 2012

Я вставляю пример кода, в котором я удаляю данные из списка, которые проверены

public class ListViewwithCheckBoxesActivity extends Activity {
/** Called when the activity is first created. */
private String savedNames = null,savedPhoneno = "";
private ListView listView;
final String SETTING_TODOLIST = "todolist";
private ArrayList<String> selectedItems = new ArrayList<String>();
static List<PhoneList> phonelist = new ArrayList<PhoneList>();
static String[] names ,phoneno;
PhonebookAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.phonebooklist);
    listView = (ListView) findViewById(R.id.phlist);    
    phoneno = new String[]{"9441781204","95503999393","7799455550"};
    names = new String[]{"name1","name2","name3","name4"};
    for(int i =0; i<phoneno.length; i++ ){
        phonelist.add(new PhoneList(names[i], phoneno[i], false));

    }
     adapter = new PhonebookAdapter(this, phonelist);
    listView.setAdapter(adapter);
    Button btnDelete = (Button) findViewById(R.id.btnDelete);
    btnDelete.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            String deletedItems = getDeletedItems();

            //Here open the database, call the query, delete from database and refresh the list and call the adapter once again

        }
    });
    Button btnClear = (Button) findViewById(R.id.btnClear);
    btnClear.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            phonelist.clear();
            for(int i =0; i<phoneno.length; i++ ){
                phonelist.add(new PhoneList(names[i], phoneno[i], false));

            }
            adapter = new PhonebookAdapter(getBaseContext(), phonelist);
            listView.setAdapter(adapter);

        }
    });
    Button btnSelectAll = (Button) findViewById(R.id.btnSelectAll);
    btnSelectAll.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            phonelist.clear();
            for(int i =0; i<phoneno.length; i++ ){
                phonelist.add(new PhoneList(names[i], phoneno[i], true));

            }
            adapter = new PhonebookAdapter(getBaseContext(), phonelist);
            listView.setAdapter(adapter);

        }
    });

}
public class PhonebookAdapter extends BaseAdapter {


    private LayoutInflater inflater;
    private TextView nameTV, phonenumberTV;

    public PhonebookAdapter(Context context, List<PhoneList> phoneList) {
        inflater = LayoutInflater.from(context);
        ListViewwithCheckBoxesActivity.phonelist = phoneList;
    }

    public int getCount() {
        return ListViewwithCheckBoxesActivity.phonelist.size();
    }

    // @Override
    public Object getItem(int position) {
        return ListViewwithCheckBoxesActivity.phonelist.get(position);
    }

    // @Override
    public long getItemId(int position) {
        return position;
    }

    // @Override
    public View getView(final int position, View convertView,
            ViewGroup parent) {

        convertView = inflater.inflate(R.layout.phonebook, null);
        nameTV = (TextView) convertView.findViewById(R.id.nameTV);
        nameTV.setText(ListViewwithCheckBoxesActivity.phonelist.get(position).getname());
        phonenumberTV = (TextView) convertView.findViewById(R.id.phonenoTV);
        phonenumberTV.setText(ListViewwithCheckBoxesActivity.phonelist.get(position).getphoneNo());

        final CheckBox checkBox = (CheckBox) convertView
                .findViewById(R.id.checkBox1);

        checkBox.setChecked(ListViewwithCheckBoxesActivity.phonelist.get(position).getChecked());
        checkBox.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                System.out.println("checkBox.isChecked()"+ checkBox.isChecked());
                if (checkBox.isChecked() == true) {
                    ListViewwithCheckBoxesActivity.phonelist.get(position).setChecked(true);
                } else {
                    ListViewwithCheckBoxesActivity.phonelist.get(position).setChecked(false);
                }
            }
        });

        return convertView;
    }

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}
public boolean onPrepareOptionsMenu (Menu menu) {
    /*if(optionsMenuSelected){
        optionsMenuSelected = false;
      return true;
    }
    else{
        return false;
    }*/
    return true;
}

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    case R.id.showCheckboxes:
        CheckBox checkBox1 = (CheckBox)findViewById(R.id.checkBox1);
        checkBox1.setVisibility(1);
        break;

    }
    return true;
}
private String getDeletedItems() {
    String savedNames= "";
    String[] tempNames = null, tempPhonenos = null;

    int count = this.listView.getAdapter().getCount();

    for (int i = 0; i < count; i++) {

        if (ListViewwithCheckBoxesActivity.phonelist.get(i).getChecked() == true) {
            savedNames += ListViewwithCheckBoxesActivity.phonelist.get(i).getname();
            System.out.println("savedNames is "+savedNames);
            for(int i1 =0;i1 < names.length;i1++)
            {
                        if(savedNames.equals(names[i]))
                        {

                            tempNames = new String[names.length - 1];   
                            tempPhonenos = new String[names.length-1];
                             System.arraycopy(names, 0, tempNames, 0, i);
                             System.arraycopy(names, i+1, tempNames, i, names.length-i-1);
                             System.arraycopy(phoneno, 0, tempPhonenos, 0, i);
                             System.arraycopy(phoneno, i+1, tempPhonenos, i, phoneno.length-i-1);


                        }

            }
        }
    }
            phonelist.clear();
            for(int i1 =0; i1<tempNames.length; i1++ ){
                phonelist.add(new PhoneList(tempNames[i1], tempPhonenos[i1], false));

            }
            adapter = new PhonebookAdapter(getBaseContext(), phonelist);
            listView.setAdapter(adapter);




    return savedNames;
}


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...