在我的项目中,我有一个用于动态创建类的视图,如TextViews但我希望通过setonCLickListner
单击视图但这个参数是nat有效的(这,Activity和Activity.getApplicationContext)
我的代码:
public a(Activity context , List<Arr> myarraylist){
for (Array w : myarraylist) {
TextView textView = new TextView(context);
textView.setText(w.getW_text());
textView.setId(w.getW_id());
textView.setTag(w.getW_id());
textView.setTextColor(Color.parseColor("#000000"));
textView.setOnClickListener((View.OnClickListener) context.getApplicationContext());
// textView.setOnClickListener(btnClickListener);
linearLayout.addView(textView);
}
}
我收到了错误: java.lang.ClassCastException:android.app.Application无法强制转换为android.view.View $ OnClickListener
我的问题是如何将此对象传递给java类,并在任意视图中单击后,将值返回到onClickListner中的activity
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
和
@Override
public void onClick(View v) {
LinearLayout ll = (LinearLayout) v.getParent();
TextView tv = (TextView) ll.getChildAt(2);
tv.setTextColor(Color.parseColor("#00ddff"));
}
答案 0 :(得分:1)
将textView.setOnClickListener((View.OnClickListener) context.getApplicationContext());
替换为textView.setOnClickListener((View.OnClickListener) context);