大佬教程收集整理的这篇文章主要介绍了android – 在“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,那么我将如何使用“SELEctor”?我正在使用预定义的android.R.layout.simple_list_item_1.
RES /颜色/ menu_highlight.xml
<?xml version="1.0" encoding="utf-8"?> <SELEctor xmlns:android="http://@R_673_10906@mas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/red" /> <item android:state_SELEcted="true" android:drawable="@color/red" /> <item android:drawable="@color/white" /> </SELEctor>
RES /值/ colors.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#FFFFFF</color> <color name="red">#FF0000</color> </resources>
res / layout / menuitem.xml ::(列表中的每个项目的XML)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://@R_673_10906@mas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/textmenu" android:layout_height="wrap_content" android:text="text" android:textColor="#FFFFFF" android:BACkground="@color/menu_highlight" android:visibility="visible" android:layout_width="fill_parent" /> </LinearLayout>
最后,在ListFragment类中,添加View prevIoUs并将以下代码添加到onlistitemclick函数中(在ListFragment: highlight selected row中提到)
public class MenuListFragment extends ListFragment{ View prevIoUs; @Override public void onListItemClick(ListView l,long id) { super.onListItemClick(l,v,position,id); //Logic to highlight SELEcted item prevIoUs.setSELEcted(false); v.setSELEcted(true); prevIoUs=v; } }
以上是大佬教程为你收集整理的android – 在“ListFragment”中突出显示所选项目?全部内容,希望文章能够帮你解决android – 在“ListFragment”中突出显示所选项目?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。