首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

listview兑现单选功能

2012-06-26 
listview实现单选功能package com.xiaomingimport android.app.Activityimport android.os.Bundleimpor

listview实现单选功能

package com.xiaoming;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.CompoundButton;import android.widget.ListView;import android.widget.RadioButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class MainActivity extends Activity {private static final String TAG = "WZP13_RadioGroupActivity";private ListView listView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);listView = (ListView) this.findViewById(R.id.list);MyAdapter adapter = new MyAdapter();listView.setAdapter(adapter);}private class MyAdapter extends BaseAdapter {private String[] s = new String[] { "小天AAA", "小天BBB", "小天CCC", "小天DDD"};private int temp = -1;@Overridepublic int getCount() {// TODO Auto-generated method stubreturn s.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {convertView = MainActivity.this.getLayoutInflater().inflate(R.layout.item, null);Button button = (Button) convertView.findViewById(R.id.button);button.setText(s[position]);RadioButton radioButton = (RadioButton) convertView.findViewById(R.id.radioButton);radioButton.setId(position);radioButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {if (isChecked) {if (temp != -1) {RadioButton tempButton = (RadioButton) MainActivity.this.findViewById(temp);if (tempButton != null) {tempButton.setChecked(false);}}temp = buttonView.getId();Log.i(TAG, "you are women- -   " + isChecked+ "   " + temp);}}});if (temp == position) {radioButton.setChecked(true);}return convertView;}}}


布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="wrap_content"    android:layout_height="wrap_content" >    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="测试" >    </Button>    <RadioButton        android:id="@+id/radioButton"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>

<?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" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <ListView        android:id="@+id/list"        android:layout_width="fill_parent"        android:layout_height="fill_parent" /></LinearLayout>


适配器不在acitivyt里面,则把activity传到适配器里面去

热点排行