2014-12-05 2 views
0

내 코드에 문제가 있습니다. 기본적으로 ListFragment의 첫 번째 요소를 선택하려고합니다 (첫 번째 요소가 표시 될 때 첫 번째 요소를 선택해야 함).하지만 수행 할 수 없습니다.기본적으로 ListFragment에서 항목을 선택하십시오.

ListFragment (onActivityCreated)에서 :

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
       R.layout.fragment_selector, ActivityMain2.mTitleArray); 
setListAdapter(adapter); 
ListView listView = getListView(); 
listView.setSelector(R.drawable.fragment_listselector);  
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
listView.setItemChecked(1, true); 
listView.setSelection(1); 
listView.setSelected(true); 
adapter.notifyDataSetChanged(); 

레이아웃/fragment_selector :

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="5dp" 
    android:textSize="32sp" > 

</TextView> 

드로어 블/사진 fragment_listselector :

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@color/default_color" android:state_selected="false"/> 
    <item android:drawable="@color/pressed_color" android:state_selected="true"/> 

</selector> 

어떤 도움이 내 코드?

+1

"선택 상태로 유지 하시겠습니까?"를 배경색으로 표시 하시겠습니까? – Altoyyr

+0

예, 그게 전부입니다. 나는 배경 색상의 선택 –

+0

가능한 중복을 표시하려면 [안드로이드 - ListView에의 항목을 한 번 강조 하나를 클릭 한 유지 (http://stackoverflow.com/questions/9281000/android-keep-listviews-item-highlighted-once- one-has-been-clicking-clicked) – Altoyyr

답변

1

그래서 귀하의 질문에 선택한 항목을 유지하지 않습니다 this Question

의 ListView의 중복 감사합니다, 그래서 사용자 선택이 작동하지 않습니다! 자신의 어댑터를 작성하고 선택한 항목을 필드와 함께 응답 상태로 기억해야합니다.

onCreatelistView.setSelection(0)으로 전화하면 문제가 없습니다.

내가 직접 코드를 사용 했으므로 정상적으로 작동합니다.

+0

접촉하지는 않으나 처음으로 활동을 열 때, 모든 항목이 선택? –

+0

아니요, 어댑터를 구현하여 첫 번째 항목을 선택한대로 표시 할 수 있습니다. 또는 단지'listView.setSelection (0)'을 호출하십시오. – Altoyyr

+0

감사합니다. –

관련 문제