2013-05-09 47 views
1

像這樣簡單,似乎我一直沒能找到一個簡單的方法解決這個問題,我有一個簡單的單選按鈕,列表視圖和我想提取的單選按鈕上按一下按鈕事件選擇的值。的Android的ListView與單選

以下是您可能在其他一百萬個其他地方看到的代碼。

public class RadioListActivity extends ListActivity { 
    @Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    setListAdapter(new ArrayAdapter<String>this,android.R.layout.simple_list_item_single_choice, CONTENT)); 

    final ListView listView = getListView(); 
    listView.setItemsCanFocus(false); 
    listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
} 

private static final String[] CONTENT = new String[] {"bla1","bla2","bla3","bla4","bla5"}; 
} 

任何幫助表示讚賞! :]

回答

2

問題就出在這,我不得不清除在連日碼的兩個簡單的線條。

只需添加下面兩行onClick事件將提取的項目與它的價值選擇沿該指數!

   ListView l=getListView(); 
       Object obj=l.getItemAtPosition(l.getCheckedItemPosition()); 

希望有人認爲上述有幫助。乾杯!

1

提取按鈕單擊事件上選定的單選按鈕的值。

您可以使用ListView.getSelectedItemPosition作爲按鈕單擊獲取選擇從ListView控件值:

@Override 
    public void onClick(View v) 
    { 
     int selectedindex=RadioListActivity.this. 
          getListView().getSelectedItemPosition(); 

     String str_selectedtxt=CONTENT[selectedindex];  
    } 
+0

它拋出一個ArrayIndexOutOfBoundsException(:length = 14; index = -1,或一些隨機亂碼)。任何幫助? – 2013-05-10 08:25:40

+0

@GarimaTiwari:喂加里馬,只需在從Array獲取值之前添加索引檢查條件即可。你會得到錯誤bez也許可能沒有在ListView中選擇任何項目 – 2013-05-10 10:57:51

+0

無論在電臺列表中選擇什麼值,它都會拋出上面發佈的SAME錯誤。你可以發佈你正在談論的索引檢查條件的代碼嗎?我沒有讓你相信。 – 2013-05-11 03:48:02