这个应该很简单。用例是我有一个由语音搜索结果生成的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);
}
});
}
}
答案 0 :(得分:1)
好吧,我不知道你要完成的是什么。
您可以通过创建包含该列表的Dialog
来解决此问题,您可以在他们按下该项目时立即关闭Dialog
,或者您可以使用“确定”按钮执行此操作。
此外,您可以将activity
分成两个,每当从列表中选择项目时,您都会完成activity
并返回上一个activity
。
另一种解决方案是,一旦选择了该项目,您就可以mList.setVisibility(View.Gone)
(或View.Invisible
取决于您想要完成的任务)。
这些解决方案中的任何一个都可以使用,您必须决定什么最适合您应用的逻辑。 我希望有帮助