2017-02-20 48 views
-2

,我有创建类的动态视图像TextViews,但我想通过setonCLickListner单击视图,但这个参数是NAT有效(这一点,活动和Activity.getApplicationContext)如何将'this'传递给动态创建视图的类?在我的项目

我的代码:

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类,然后单击后anyview,将活动返回值onClickListner

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")); 



    } 
+2

尝试使用YourActivityName.this –

+0

可能的复制[内OnClickListener我无法访问很多东西 - 如何处理(HTTP ://stackoverflow.com/questions/2076037/inside-onclicklistener-i-cannot-access-a-lot-of-things-how-to-approach) – shadygoneinsane

回答

1

更换textView.setOnClickListener((View.OnClickListener) context.getApplicationContext());textView.setOnClickListener((View.OnClickListener) context);

相关问题