ユーザーが左側のリストをクリックして右側に何かを表示する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>
今気づいたのは、右側の画面で、右側のテキストボックスをクリックしたときにのみハイライトが失われることです...チェックボックスをクリックすると、ハイライトされたアイテムが維持されます。このすべてについて完全に混乱しています