【问题标题】:Android ListView with RadioButton带有 RadioButton 的 Android ListView
【发布时间】:2013-05-13 12:40:56
【问题描述】:

虽然看起来很简单,但我无法找到解决此问题的简单方法,但我有一个简单的单选按钮列表视图,我想提取在按钮单击事件中选择的单选按钮的值。

这是您可能在其他一百万个地方看到过的代码。

 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"};
}

感谢任何帮助! :]

【问题讨论】:

    标签: android radiobuttonlist


    【解决方案1】:

    答案在于两行简单的代码,我不得不在最后几天清理它们。

    只需将以下两行添加到 onClick 事件中即可提取所选项目的索引及其值!

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

    希望有人觉得以上内容有帮助。干杯!

    【讨论】:

      【解决方案2】:

      提取按钮点击事件中选中的单选按钮的值。

      您可以使用 ListView.getSelectedItemPosition 从 ListView 中获取选定的值,就像单击按钮时一样:

      @Override
        public void onClick(View v) 
        {
              int selectedindex=RadioListActivity.this.
                                  getListView().getSelectedItemPosition();
      
              String str_selectedtxt=CONTENT[selectedindex];    
        }
      

      【讨论】:

      • 它会抛出一个 ArrayIndexOutOfBoundsException(:length=14; index=-1,或者一些随机的乱码)。有什么帮助吗?
      • @GarimaTiwari:嗨,Garima,在从 Array 获取值之前放置索引检查条件。你得到错误 bez 可能没有在 ListView 中选择项目
      • 对于我在单选列表中选择的任何值,它都会引发我在上面发布的相同错误。您可以发布您正在谈论的索引检查条件的代码吗?我没让你明白。
      • 我认为代码应该是 getCheckedItemPosition() 而不是选中的。无论如何+1的努力! :)
      猜你喜欢
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2012-09-18
      相关资源
      最近更新 更多