2011-09-28 67 views
0

我需要在ListView中添加RadioButton,事实上我已经尝试过了,但是我得到的问题是,当我单击单选按钮时,它会被选中得非常好......但同时如果不希望选择那个特定的按钮......它只是被选中。在这里,我提供我的代码:在ListView中添加radioBurton

import android.app.ListActivity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 

public class RadioInCustomListView extends ListActivity { 

    ListView lv; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 


     String[] names = new String[] { "Issues", "Request for Information", 
        "Contracts", "Purchase Orders", "Change Orders", "Proposals", 
        "Submittals" }; 
      lv = getListView(); 
      lv.setCacheColorHint(Color.TRANSPARENT); 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.radio_item, names); 
      //this.setListAdapter (new ArrayAdapter<String>(RadioInCustomListView.this,R.layout.radio_item, names)); 
      setListAdapter(adapter); 
    } 

     protected void onListItemClick(ListView l, View v, int position, long id) { 
      super.onListItemClick(l, v, position, id); 
      Object o = this.getListAdapter().getItem(position); 
      Toast.makeText(RadioInCustomListView.this, o.toString(), Toast.LENGTH_LONG).show(); 


      } 
    } 

我个XML: 的main.xml:

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

radio_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_vertical" 
    android:checkMark="?android:attr/listChoiceIndicatorSingle" 
    android:paddingLeft="6dip" 
    android:paddingRight="6dip" 
/> 
+0

让我们看看这个帖子。有类似的问题[点击这里] [1] [1]:http://stackoverflow.com/questions/4250599/android-listview-with-radiobutton-in-singlechoice-mode-and-一个自定义的行布局 – sandy

回答

2

可能是这个代码帮助您

ls.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,list_sexuality)); 
ls.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
+1

谢谢你的友善回应,是啊我可以做到这一点,但我需要创建自己的布局....有没有什么办法来自定义布局(layout.simple_list_item_single_choice) –