有人可以告诉我如何在 TextView 中显示 ListView 中的多个选定项目吗? 我只想显示选中的项目,未选择项目时无法显示。 这是我的代码
final String[] favoriteTVShows =
{
"Wolf", "Inception", "Heat", "Gladiator", "Birdman", "Seven", "TVshow1", "TVshow2", "Tvshow3"
};
ListAdapter theAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, favoriteTVShows);
ListView theListView = (ListView) findViewById(R.id.theListView);
theListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
theListView.setItemChecked(2, true);
theListView.setAdapter(theAdapter);
theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
String tvShowPicked = "You selected " + String.valueOf(adapterView.getItemAtPosition(position));
Toast.makeText(List.this, tvShowPicked, Toast.LENGTH_SHORT).show();
}
});
}
最佳答案
创建一个方法,以便在每次调用 onItemClick 时更新 TextView 文本。
void updateTextView() { ... }
使用 getCheckedItemPositions 获取列表中已选中项目的数组并将其添加到您的方法中。 http://developer.android.com/reference/android/widget/AbsListView.html#getCheckedItemPositions()
使用 StringBuilder 在方法内添加所选项目的标签:
StringBuilder sb = new StringBuilder(); for (int i = 0; i < selectedItems; i++) { sb.append(selectedItems[i]); if (i < selectedItems.length - 1) { sb.append(", "); // Add a comma for separation } } textView.setText(sb);
关于java - 如何将文本设置为 ListView 中的多个选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783015/