【发布时间】:2012-08-21 05:59:24
【问题描述】:
我已多次发布相同的问题,但尚未解决。我有一个ListFragment,我想突出显示列表中的选定项目。有人建议我使用“选择器”。我不明白如何使用这个选择器。我的ListFragment 班级是:
// Create an adapter with list of stores and populate the list with
// values
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, StoreList);
setListAdapter(adapter);
mDbHelper.close();
}
/*
* (non-Javadoc)
*
* Handles the event when an item is clicked on left pane, performs action
* based on the selection in left pane
*
* @see android.app.ListFragment#onListItemClick(android.widget.ListView,
* android.view.View, int, long)
*/
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
String selectedStore = (String) getListAdapter().getItem(position);
DetailFragment fragment = (DetailFragment) getFragmentManager()
.findFragmentById(R.id.detailFragment);
if (fragment != null && fragment.isInLayout()) {
v.setBackgroundColor(getResources().getColor(R.color.BLUE));
// passes selectedStore to detail fragment
fragment.setText(selectedStore);
// getItemList(selectedStore);
}
使用 setBackground 永久设置颜色,但我希望在选择另一个项目时它会消失。
我了解如何在ListView 中使用选择器,但在我的情况下,如果我没有为Listview 定义任何xml,那么我将如何使用“选择器”?我正在使用预定义的android.R.layout.simple_list_item_1。
【问题讨论】:
-
Android 中
ListView的“选择”概念适用于方向键、轨迹球、箭头键和其他指针设备。在平板电脑上,有一个“激活”行的相关概念,旨在突出显示触摸屏上最后点击的项目,为与其相邻的内容提供上下文(例如,主从模式)。
标签: android listview android-listview android-fragments android-listfragment