android 自定义 单选,Android:自定义列表视图中的单选按钮

我正在开发一个应用程序,我需要在列表视图中实现单选按钮。我想实现一个列表视图,每一行都有一个单选按钮和两个文本视图。并在列表视图之下一个按钮“Ok”。

我所做的是创建列表视图和自定义适配器。

列表视图的代码如下:

android:id="@+id/listview"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:cacheColorHint="#00000000"

android:overScrollMode="never"

tools:ignore="NestedScrolling"

android:choiceMode="singleChoice" >

我创建了一个自定义适配器布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

tools:ignore="UselessParent" >

android:id="@+id/radiobutton"

android:layout_width="0sp"

android:layout_height="wrap_content"

android:layout_weight=".1" />

android:id="@+id/textview1"

android:layout_width="0sp"

android:layout_height="wrap_content"

android:layout_weight=".3" />

android:id="@+id/textview2"

android:layout_width="0sp"

android:layout_height="wrap_content"

android:layout_weight=".3" />

片段的java代码如下:

ListView listView = (ListView) view.findViewById(R.id.listview);

// values is a StringArray holding some string values.

CustomAdapter customAdapter = new CustomAdapter (getActivity(), values);

listView.setAdapter(customAdapter );

listView.setOnItemClickListener(this);

@Override

public void onItemClick(AdapterView> arg0, View arg1, int position, long arg3) {}

并且适配器的代码如下:

public class CustomAdapter extends ArrayAdapter {

/** Global declaration of variables. As there scope lies in whole class. */

private Context context;

private String[] listOfValues;

/** Constructor Class */

public CustomAdapter (Context c,String[] values) {

super(c,R.layout.adapter_layout,values);

this.context = c;

this.listOfValues = values;

}

/** Implement getView method for customizing row of list view. */

public View getView(final int position, View convertView, ViewGroup parent) {

LayoutInflater inflater = ((Activity)context).getLayoutInflater();

// Creating a view of row.

View rowView = inflater.inflate(R.layout.adapter_layout, parent, false);

TextView textView1 = (TextView)rowView.findViewById(R.id.textview1);

TextView textView2 = (TextView)rowView.findViewById(R.id.textview2);

RadioButton radioButton = (RadioButton) rowView.findViewById(R.id.radiobutton);

radioButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(context, CustomAdapter[position], Toast.LENGTH_SHORT).show();

}

});

return rowView;

}

}

textview1的数据从SQLite数据库和textview2填充数据为“状态关闭”。在选择或通过单击任何单选按钮时,文本视图的文本将更改为“状态打开”。

问题是:应用的需要是只有一个单选按钮应该选择,并且textview2的数据在选择上有变化。当用户单击另一个单选按钮时,它将被选中,而前一个应该取消选中,并且textview2的文本将被更改为先前选择的单选按钮的“已关闭状态”,并单击单选按钮进入“状态打开”。

编辑1:

并点击“确定”按钮,我想获取位置,列表视图textview1和textview2的文本,因为我想在SQLite数据库中保存该文本在视图中。

请指导我应该遵循哪些步骤。我在我的应用程序的中间您需要宝贵的指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值