2016-10-27 5 views
0

누구든지 말해 줄 수 있습니다. listview에서 어떻게 선택해야합니까? listview의 단일 항목 행에 텍스트와 라디오 버튼이 있습니다.단일 선택 모드에서 선택된 항목 가져 오기 listview - android

코드 : XML :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ListView 
     android:id="@+id/listview" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:choiceMode="singleChoice" 
    /> 

</LinearLayout> 

및 활동

public class MainActivity extends Activity { 
    String[] countries = new String[] { 
     "India", 
     "Pakistan", 
     "Sri Lanka", 
     "China", 
     "Bangladesh", 
     "Nepal", 
     "Afghanistan", 
     "North Korea", 
     "South Korea", 
     "Japan" 
    }; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     // Getting object reference to listview of main.xml 
     ListView listView = (ListView) findViewById(R.id.listview); 

     // Instantiating array adapter to populate the listView 
     // The layout android.R.layout.simple_list_item_single_choice creates radio button for each listview item 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,countries); 

     listView.setAdapter(adapter); 

    } 
} 

잘 작동 코드 ..
을하지만 내 질문에 어떻게 설정
1)되는 기본 선택?
2) 선택한 항목을 가져 옵니까?

+1

이 선택 항목을 얻을 http://stackoverflow.com/questions/4834750/how-to-get-the-selected-item-from-listvie w –

+0

질문 1.'listView.setSelection (int position) ' –

답변

0

내가 가지고 이런 식으로 내 원하는 출력 :

답 1) 기본 선택 설정하는 방법 :

int defaultselected=0,idnoreid=0; 
listView.setItemChecked(defaultselected, true); 
listView.performItemClick(listView.getSelectedView(), defaultselected, idnoreid); 

답변을 2) 선택받을 항목 :

@Override 
    public void onItemClick(AdapterView<?> adapterView, View v, int i, long l) 
    { 
     newLabel = ((TextView)v).getText().toString(); 
    } 
0

1) setSelection을 사용하여 기본값을 설정할 수 있습니다. 예를 들어 코드에서 어댑터를 설정 한 후 코드를 넣으십시오.

listView.setAdapter(adapter); 
listview.setSelection(0); //default is India 

2) 당신은 getSelectedItem()를 사용하여 목록보기에서 선택한 국가를 얻을 수 있습니다. 코드에서 예를 들어, 당신은 방법 저장이있는 경우 다음

private void save() { 
    String selectedCountry = (String) listview.getSelectedItem(); 
    //TODO 
} 
+0

그냥 setSelection이 작동하지 않습니다. –

+0

설명서에 "현재 선택된 항목을 설정합니다. 터치 모드에서 항목은 선택되지 않지만 여전히 적절한 위치에 배치됩니다. 지정된 선택 위치가 0보다 작 으면 위치 0의 항목이 선택 "되어 화면에이 항목이 선택되었음을 알 수 없지만 저장 방법에서는 기본 항목을 가져옵니다. –

관련 문제