我在 Realtive Layout 中有 ImageView 和 textview。相对布局的 Onclcik 我需要获取文本视图的值并需要更改图像视图。获取空指针异常。这是代码
活动代码
inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int id=0;
for (int idx = 0; idx < dataFromDb.size(); idx++) {
id = idx + 1;
rel = (RelativeLayout) inflater.inflate(
R.layout.newdata, null);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 50, 0, 0);
txt = (TextView) rel.findViewById(R.id.fetchData);
txt.setText(dataFromDb.get(idx));
txt.setId(id);
img = (ImageView) rel.findViewById(R.id.tickbox);
img.setImageResource(R.drawable.tickbox1a);
img.setId(id);
rel.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(DoTask.this,
"Selected" + v.getId(),
Toast.LENGTH_LONG).show();
RelativeLayout im=(RelativeLayout)v;
ImageView i=(ImageView)im.findViewById(im);
i.setImageResource(R.drawable.tickbox1b);
}
});
content.addView(rel, params);
}
新数据.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/tickbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/tickbox1a"
android:paddingBottom="10dp" />
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fetchData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:paddingTop="2dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/gray"
android:textSize="18sp" />
</RelativeLayout>
任何帮助,将不胜感激。