我正在尝试创建一个类似 gmail 的界面,用户单击左侧的列表并在右侧显示一些内容。我已经到了左侧有一个列表的地步,用户可以单击并突出显示该项目(我是初学者)。问题是,如果用户单击暂时空白的右侧,突出显示的项目将不再突出显示。
public class profileListFragment extends ListFragment {
String[] countries = new String[] {"USA", "China"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(inflater.getContext(),
android.R.layout.simple_list_item_1,countries);
setListAdapter(adapter);
// View listView = getActivity().findViewById(R.id.list));
View retView = inflater.inflate(R.layout.fragment_load_profile_list_layout,container, false);
ListView lv = (ListView) retView.findViewById(android.R.id.list);
lv.setSelector(android.R.color.holo_orange_light);
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
return retView;
// return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onPause(){
}
}
如果您需要查看更多代码,请告诉我。提前致谢
编辑
我已将代码编辑如下:
lv.setSelector(R.drawable.profile_list_selector);
profile_list_selector.xml 位于“drawable”文件夹中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="false"
android:drawable="@android:color/holo_green_dark" />
<item android:state_pressed="true"
android:drawable="@android:color/holo_blue_dark" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@android:color/holo_blue_bright" />
<item android:state_enabled="true"
android:drawable="@android:color/holo_orange_dark" />
</selector>
我现在注意到的是,在右侧屏幕上,只有当我单击右侧的文本框时,突出显示才会丢失……如果我单击复选框,则突出显示的项目会被保留。完全对这一切感到困惑