2014-12-07 115 views
-2

我在ListViewAdapter中使用自定义onclicklistener。列表中有一个按钮。我需要将一些变量传递给onclicklistener。方法未定义为自定义onclicklistener

我的问题是,我不能像通常那样使用'startActivity()来从意图开始一个活动。

警告说,类型view.OnClickListener的方法startActivity未定义。

private void setOnClick(final ImageButton mapButton, final String str){ 
      mapButton.setOnClickListener(new OnClickListener() { 
         @Override 
         public void onClick(View v) { 

          Intent in = new Intent(context, 
             Empresas_Mapa.class); 
           in.putExtra("nombre", titulo_evento); 
           in.putExtra("direccion", lugar_evento); 
           in.putExtra("lat", latitud_evento); 
           in.putExtra("lon", longitud_evento); 

           startActivity(in); 


         } 
       }); 
      } 

我该怎么办?

回答

0

startActivity()是指view.OnClickListener这是错误的,OnclickListener没有提供内部的一个startActivity,将其替换为:

YourActivity.this.startActivity(in) 
+0

谢谢Arash,但它也不起作用,现在警告说该方法对MyActivity未定义。 – novato 2014-12-07 10:11:45

+0

plz提供相关的代码,没有人可以帮助你更多与这些。 – 2014-12-07 14:13:40

0

请确保该方法是在Activity类

对于整个实现,您可以使用Activity内的Map来存储View可点击(可以是行或按钮)与表示数据之间的关系。

在onClick方法中,通过从Map中单击的View查找数据,并将细节数据传递到下一个Activity,就像您所做的一样。

0

使用context.startActivity(in).it将工作。