如何将'this'传递给类来动态创建视图?

时间:2017-02-20 11:47:38

标签: android android-view

在我的项目中,我有一个用于动态创建类的视图,如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"));



    }

1 个答案:

答案 0 :(得分:1)

textView.setOnClickListener((View.OnClickListener) context.getApplicationContext());替换为textView.setOnClickListener((View.OnClickListener) context);