0

我有列表视图。为此,我将每一行自定义为文本视图和复选框。现在我想获取选中项目的名称。我尝试使用 checkedItemPositons 但那不起作用是因为 2 个布局?

我想在按下删除按钮时删除选中的项目。我该怎么做?这是我的代码

      public class ManageLikes extends Activity implements OnClickListener {

ListView lv;
Button btndelsel, btndelall;
CheckBox chk;
HashMap<Integer, Boolean> mCartItems = new HashMap<Integer, Boolean>();

List<String> likes = new ArrayList<String>();
//DatabaseHandler db = new DatabaseHandler(getApplicationContext());


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.managelikes);

    DatabaseHandler db = new DatabaseHandler(getApplicationContext());
    //String data[] = { "a", "b", "c", "d", "e"};
    likes = db.getAllLikes();

    lv = (ListView) findViewById(R.id.listView);
    btndelsel = (Button) findViewById(R.id.btndelsel);
    btndelall = (Button) findViewById(R.id.btndelall);
    btndelsel.setOnClickListener(this);
    btndelall.setOnClickListener(this);

    lv.setCacheColorHint(0);

    LayoutInflater mLInflater = getLayoutInflater();
    final LAdapter adapter = new LAdapter(getApplicationContext(),likes, mLInflater);
    lv.setAdapter(adapter);

}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    int count = likes.size();
    String checked = "";

    if (v == btndelsel) {
        //i want delete the checked items here
    }


    if (v == btndelall) {
        //delete all items

    }
    }

     }
4

1 回答 1

0

尝试以下方法。

  1. 适配器内部有一个复选框监听器,并在复选框单击监听器时跟踪某种数据结构中的选中项目。
  2. 单击删除按钮后,通过使用数据结构跟踪检查项目,从数据源(即数据库)中删除适当的数据。
  3. 删除后通过调用 notifyDataSetChanged() 更新适配器以刷新 UI。
于 2012-10-22T10:37:29.510 回答