2011-08-31 116 views
0

我有查询动态列表视图按钮。我在我的动态列表视图中有2个按钮。我可以看到onclick事件和烤面包出现。但是,当我尝试将意图传递给下一个活动时,它不起作用。请告诉我我做错了什么。动态列表视图按钮在Android中的问题意图

我的代码:

ViewHolder holder; 

    if (convertView == null) { 
     convertView = mInflater.inflate(R.layout.adaptor_content, null); 
     // Creates a ViewHolder and store references to the two children 
     // views 
     // we want to bind data to. 
      holder = new ViewHolder(); 
      holder.textLine = (TextView) convertView.findViewById(R.id.textLine); 
     // holder.iconLine = (ImageView) convertView.findViewById(R.id.iconLine); 
      holder.buttonLine = (Button) convertView.findViewById(R.id.buttonLine); 
      holder.DbuttonLine = (Button) convertView.findViewById(R.id.DbuttonLine); 
      holder.textLine2 =(TextView) convertView.findViewById(R.id.textLine2); 
      holder.mobile =(TextView) convertView.findViewById(R.id.mobile); 
      holder.newmes =(TextView) convertView.findViewById(R.id.newmessage); 
     convertView.setOnClickListener(new OnClickListener() { 
     private int pos = position; 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(context, "Click-" + String.valueOf(pos), Toast.LENGTH_SHORT).show();  
       } 
     }); 
     holder.buttonLine.setOnClickListener(new OnClickListener(){ 
     private int pos = position; 
     @Override 
     public void onClick(View v) { 
      //Toast.makeText(context, "Delete-" + String.valueOf(pos), Toast.LENGTH_SHORT).show(); 
      Intent myIntent = new Intent(v.getContext(), messsagelist.class); 
      //startActivity(myIntent); 

      this.startActivityForResult(myIntent, 0); 


      } 
     private void startActivityForResult(Intent myIntent, int i) { 
      // TODO Auto-generated method stub 

     } 
     }); 
     holder.DbuttonLine.setOnClickListener(new OnClickListener() { 
     private int pos = position; 
      @Override 
      public void onClick(View v) { 
      Toast.makeText(context, "Details-" + String.valueOf(pos), Toast.LENGTH_SHORT).show(); 
     } 
     }); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
} 

回答

0

试着改变你的getContext()代码,使用你的活动范围内。

替换:

 Intent myIntent = new Intent(v.getContext(), messsagelist.class); 
     //startActivity(myIntent); 

     this.startActivityForResult(myIntent, 0); 

有了:

 Intent myIntent = new Intent(yourActivityName.this, messsagelist.class); 
     //startActivity(myIntent); 

     this.startActivityForResult(myIntent, 0); 

编辑:在代码中修复错字。

+0

或'getApplicationContext()'。 – Rob

+0

意图myIntent =新的意图(yourActivityName.this,messsagelist.class); // startActivity(myIntent); 这给了我错误:多个标记在该行 \t - 令牌“”删除此令牌 \t语法错误 - 构造意图(类)是 \t不确定的,不能使静态参考非-static方法startActivity(意图)类型活动 this.startActivityForResult(myIntent,0); ..请建议我我工作过去3天相同..我的查询是我需要意图下一个活动,当我点击在列表视图中的动态按钮。 –

+0

'yourActivityName.this'应该是您的活动的名称。我没有字面意思是'yourActivityName'。如果您还在努力,请发布您的整个活动代码,我会再次看看,确保您已回复此评论,以便我可以回来查看。 – Ricky