如何从多个ListView模式切换到单个ListView模式?

时间:2016-02-23 16:15:54

标签: android listview

我正在尝试创建一个非常基本的待办事项列表。我是初学者,我无法将单个列表视图转换为多个选择ListView。我试过谷歌搜索,我无法使其工作。 当长按一个条目时,它将打开一个对话框来编辑条目。为此,我做了单选列表。 在应用程序的顶部,有删除按钮,我打算通过它将单个选择转换为多个。点击此按钮后没有任何事情发生。

我也试过检查答案 How to switch ListView choice mode from single to multiple on Clicking event in android?。 上面的答案都没有奏效!

private ArrayList<String> items;
private ArrayAdapter<String> itemsAdapter;
private ListView lvItems;
Context context = this;

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    lvItems = (ListView) findViewById(R.id.lvItems);
    items = new ArrayList<String>();
    itemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,items);
    lvItems.setAdapter(itemsAdapter);
    lvItems.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    items.add("First item");
    items.add("Second Item");

    lvItems.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
            //Try to add edit dialog here
            final Dialog dialog = new Dialog(context);
            dialog.setTitle("Edit your entry");
            dialog.setContentView(R.layout.dialog);
            Button saveEntry = (Button) dialog.findViewById(R.id.button);
            final EditText editText = (EditText) dialog.findViewById(R.id.editText);
            editText.setText(items.get(position));
            dialog.show();

            saveEntry.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String newText = editText.getText().toString();
                    items.set(position, newText);
                    itemsAdapter.notifyDataSetChanged();
                    dialog.dismiss();
                }
            });
            return true;
        }
    });

    //I want single ListView to change to multipe
    Button deleteButton = (Button)findViewById(R.id.buttonDelete);
    deleteButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (lvItems.getChoiceMode() == ListView.CHOICE_MODE_SINGLE){
                lvItems.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);




            }
        }
    });
}

public void onAddItem(View v){
    EditText etNewItem = (EditText)findViewById(R.id.etNewItem);
    String itemText = etNewItem.getText().toString();
    items.add(itemText);
    etNewItem.setText("");
}

}

1 个答案:

答案 0 :(得分:-1)

转到回收站视图。列表视图现已过时。

相关问题