【问题标题】:How to change the value in the filter of adapter using check_box in a dialog如何使用对话框中的复选框更改适配器过滤器中的值
【发布时间】:2014-04-01 22:15:35
【问题描述】:

请帮帮我,真的不知道又累了。 我有:

SimpleAdapter adapter = new SimpleAdapter(this, IrrList,
            R.layout.list_item, new String[] { Form1, Form2, Form3 },
                                   new int[] { R.id.text1, R.id.text2, R.id.text3 });   
                listView.setTextFilterEnabled(true);
                adapter.getFilter().filter("changing value");
                listView.setAdapter(adapter);

和:

@Override
public Dialog onCreateDialog(int id) {
  switch (id) {
  case IDD_CHECK_LIST:
    final boolean[] mCheckedItems = { false, false, false };
    final String[] checkList = { "list 1", "list 2", "list 3" };
      ad = new AlertDialog.Builder(this);
      ad.setTitle("Get list")
    .setCancelable(false)
    .setMultiChoiceItems(checkList , mCheckedItems,
    new DialogInterface.OnMultiChoiceClickListener() {
      @Override
      public void onClick(DialogInterface dialog,
        int which, boolean isChecked) {
        mCheckedItems[which] = isChecked;
    }
    })
    .setPositiveButton("yes",
    new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int id) {
        StringBuilder state = new StringBuilder();
        for (int i = 0; i < checkList .length; i++) {
          state.append("" + checkList [i]);
        if (mCheckedItems[i])
        state.append(" +\n");
        else
            state.append(" -\n");
    }
        Toast.makeText(getApplicationContext(),
        state.toString(), Toast.LENGTH_LONG).show();


    }
})

我想在对话框中使用 check_box 更改适配器“更改值”过滤器中的值。 我该怎么做?。 我要:

  1. 当“list1”为“true”时,使用以下值:

adapter.getFilter().filter("这里");

  1. 当“list2”或“list3”为“true”时,使用另一个值。

  2. 当“list1”与“list2”或“list3”为“真”时,使用某人。

我试图把刺痛:

String ChangedValue = "value";
adapter.getFilter().filter(ChangedValue);

但不知道如何在复选框中更改它。

【问题讨论】:

    标签: android android-listview filter dialog adapter


    【解决方案1】:

    wtf!我搜索了 2 天的答案,但这很容易。 ((((((

    setFiltr("3.");
    

    public void setFiltr(String aaa)
        {
            ListView listView = (ListView) findViewById(R.id.listView1);
            R.layout.list_item, new String[] { Form1, Form2, Form3 },
                                           new int[] { R.id.text1, R.id.text2, R.id.text3 });   
                listView.setTextFilterEnabled(true);
            adapter1.getFilter().filter(aaa);
            listView.setAdapter(adapter1);
    
        }
    

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      相关资源
      最近更新 更多