【发布时间】:2014-07-21 19:14:15
【问题描述】:
我创建了一个自定义列表视图,它有一个按钮、一个单选按钮(一次选择一个)、一个文本视图......从数据库中更新......问题是我正在尝试发送“文本”在 textview 到特定数字。例如:- 如果在 listview 中选中第一行的单选按钮,那么它旁边的 textview 应该是需要发送的“文本”....请帮助我如何在单选按钮上应用条件会膨胀在自定义列表视图上......我被困在这里,无法找到类似的问题......
到目前为止,我对列表、单选按钮和适配器所做的事情就像......
适配器类 包 com.example.smarttext2;
public class adapterdemo extends BaseAdapter {
Context context;
String[] str;
LayoutInflater inflater;
int selectedPosition =0;
public adapterdemo(Context con,String[] st1) {
// TODO Auto-generated constructor stub
context = con;
str=st1;
inflater = ((Activity)con).getLayoutInflater();
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return str.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView( final int position, final View arg1, ViewGroup arg2) {
// TODO Auto-generated method s tub
View v = arg1;
v = inflater.inflate(R.layout.customlist, null);
TextView text = (TextView)v.findViewById(R.id.textView1);
text.setText(str[position]);
final RadioButton rdb = (RadioButton)v.findViewById(R.id.radio0);
rdb.setChecked(position == selectedPosition );
rdb.setTag(position);
rdb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectedPosition = (Integer)view.getTag();
notifyDataSetInvalidated();
}
});
if(position==selectedPosition)
{
rdb.setChecked(true);
}
else
{
rdb.setChecked(false);
}
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
selectedPosition = position;
notifyDataSetChanged();
}
});
return v;
}
}
主要
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
super.setContentView(R.layout.second);
list =(ListView)findViewById(R.id.listView1);
cursor = demo1.fetch();
count = cursor.getCount();
str = new String[count];
cursor.moveToFirst();
for(int i=0;i<count;i++)
{
str[i] = cursor.getString(0);
Toast.makeText(getApplicationContext(), str[i], 3000).show();
cursor.moveToNext();
}
adapter= new adapterdemo(this, str);
list.setAdapter(adapter);
list.setChoiceMode(list.CHOICE_MODE_SINGLE);
【问题讨论】:
标签: android listview radio-button