2013-04-08 80 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