2013-04-08 35 views
0

我需要在ListView內的箭頭圖像中定義onClick()事件。這個箭頭移動到另一個屏幕(另一個活動)。onClick在ListView中查看圖像

我看了一下setOnItemClickListener()的信息,但我不能用這個,因爲我需要的onClick()事件箭頭ImageView,而不是一般的項目。

我也看出了我的自定義BaseAdapter來定義ImageViewOnClickListener,但問題是,我用的是Activity的功能,我不能在BaseAdapter使用(因爲不存在,很明顯)

right.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      Intent i = new Intent(ByLocationList.this, Summary.class); 
      startActivity(i);    

     } 
    }); 

我得到錯誤,因爲BaseAdapter類中沒有startActivity()類。我如何啓動摘要活動?

+0

上我真的不知道關於你這裏的設計方法,我不相信,你有建議的架構 - 但無論哪種方式 - 有你嘗試使用您的視圖中的上下文,即'arg0.getContext()' – Tapirboy 2013-04-08 09:40:51

回答

1

我得到了錯誤,因爲BaseAdapter類中沒有startActivity()。 如何啓動摘要活動?

=>通過上下文當前活動作爲您的BaseAdapter類的構造函數中的一個參數。

例如:

private Context context; 
public MyBaseAdapter(Context context, ArrayList<JSONObject> data) { 
     super(context, R.layout.row_listView, data); 

     this.context = context; 
     ........ 
     ........ 
    } 

,然後開始活動使用:

Intent i = new Intent(context, Summary.class); 
startActivity(i);  
+0

這是「正常」嗎? – trumpetero 2013-04-08 09:39:51

+0

是它的「正常」作爲其標準方式來做到這一點.. – 2013-04-08 09:41:10

0
Intent i = new Intent(ActivityClassName.this, Summary.class); // not the name of your adapter 
startActivity(i); 
0

公共無效總和(視圖V) { 意向意圖=新意圖(getApplicationContext() ,Summary.class); startActivity(intent); }

放機器人:的onClick =「和」你的形象

+0

爲什麼要有人使用全局應用程序的上下文?特別是適配器。 – 2013-04-08 09:42:52

+0

paresh哈哈....我不知道我用它在我的工作中一次爲什麼它不好>? – Giant 2013-04-08 09:45:43