2016-10-27 34 views
0

誰でも教えてください。リストビューからどのように選択できますか? listviewの1つの項目の行には、ラジオボタンが続くテキストが含まれています。単一選択モードから選択項目を取得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

get select item http://stackoverflow.com/questions/4834750/how-to-get-the-selected-item-from-listvie w –

+0

質問1. 'listView.setSelection(int position)' –

答えて

0

私はこの方法によって、私の所望の出力を得ました2)選択したアイテムを取得:

0

1)デフォルトはsetSelectionを使用して設定できます。たとえば、コード内で、アダプタを設定した後に配置します。

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

2)getSelectedItem()を使用してリストビューから選択した国を選択することができます。デフォルトの選択を設定する方法)1

答え:ため

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

答えをあなたのコードの例では、メソッド保存している場合、その後

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

ちょうどsetSelectionが私のために働いていません。 –

+0

ドキュメントには、「現在選択されているアイテムを設定します。タッチモードではアイテムは選択されませんが、適切な位置に配置されます。選択されているので、この項目が選択されていることを画面に表示することはできませんが、保存方法ではデフォルトの項目が表示されます。 –

関連する問題