2014-12-07 490 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將工作。