为什么往dialog里setView ,里面的View设置监听器无效 求大神

Just-the-CJ 发布于 2013/08/29 17:36
阅读 1K+
收藏 0

 

如图所示 我往一个Dialog里面setView()  大的TableLayout里面放置了一个TableLayout 

我现在为“1”的那个TextView设置监听器  但是设置以后点击无反应  这是为什么呢

下面贴出相关代码

1、里面的logView就是那个View

View logView = myInflater.inflate(R.layout.add_course_weeks_dialog, null);

    log = new AlertDialog.Builder(AddCourseAC.this).setView(logView)
      .setPositiveButton("取消", new DialogInterface.OnClickListener() {
       
       @Override
       public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        log.dismiss();
       }
      }).setNegativeButton("确定", new DialogInterface.OnClickListener(){

       @Override
       public void onClick(DialogInterface dialog,
         int which) {
        // TODO Auto-generated method stub
        log.dismiss();
       }
       
      }).create();
    
    log.show();

 

2、实例化“1”TextView并设置监听器

add_course_week1 = (TextView) myInflater.inflate(R.layout.add_course_weeks_dialog, null).findViewById(R.id.add_course_week1);

 

add_course_week1.setOnClickListener(new selectWeek());

 

监听器-

public class selectWeek implements OnClickListener{

  @Override
  public void onClick(View v) {
   // TODO Auto-generated method stub
   Toast.makeText(AddCourseAC.this, "监听器", Toast.LENGTH_SHORT).show();
   Drawable color = v.getBackground();
   if(((String)v.getTag()).equals("NotSelected")){
    v.setBackgroundColor(Color.BLUE);
    v.setTag("HaveSelected");
   }else if(((String)v.getTag()).equals("HaveSelected")){
    v.setBackground(color);
    v.setTag("NotSelected");
   }
  }

上面的红字代码并没有运行到

这是怎么回事呢? 求大神

 

加载中
0
Just-the-CJ
Just-the-CJ
好吧  是我自己粗心了  被实例化的TextView不是dialog里面的TextView,而是另外的TextView = =
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部