用户选择项目后删除ListView

时间:2011-02-17 22:13:03

标签: android listview visibility

这个应该很简单。用例是我有一个由语音搜索结果生成的ListView。一旦用户从列表中选择了适当的项目,我希望列表消失。此列表(其内容)将不再需要。我知道这可以通过多种方式完成,但我没有足够的经验知道哪个最好(最快,最有效的移动资源等等)。我使用了clearChoices(),setVisibility(2)'去了”。无论如何,我以为我会去寻找合适的答案。

一如既往地感谢您的帮助。如果你愿意,这是相关的代码:

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {

        mList = (ListView) findViewById(R.id.list);

        ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
        mList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, matches));

        mList.setTextFilterEnabled(true);

        mList.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String description = ((TextView) view).getText().toString();
                final EditText etDesc = (EditText) findViewById(R.id.EditDescription);

                etDesc.setText(description);
                mList.setVisibility(2);
            }
        });
    }
}   

1 个答案:

答案 0 :(得分:1)

好吧,我不知道你要完成的是什么。 您可以通过创建包含该列表的Dialog来解决此问题,您可以在他们按下该项目时立即关闭Dialog,或者您可以使用“确定”按钮执行此操作。

此外,您可以将activity分成两个,每当从列表中选择项目时,您都会完成activity并返回上一个activity

另一种解决方案是,一旦选择了该项目,您就可以mList.setVisibility(View.Gone)(或View.Invisible取决于您想要完成的任务)。

这些解决方案中的任何一个都可以使用,您必须决定什么最适合您应用的逻辑。 我希望有帮助