在android中的列表视图中单击监听器按钮

时间:2011-09-21 15:56:54

标签: android listview clicklistener

在我的Android应用程序中,我有一个列表,在每一行中我都有一个button。在按下button时,应该会打开另一个activity。我有点困惑如何做点击监听器。有人可以建议吗?感谢。

注意:我可以创建一个在数组适配器内部监听的点击。但是,我无法从那里开始新的活动:(

2 个答案:

答案 0 :(得分:4)

在自定义视图中放置一个按钮,并在getView方法中处理click事件。

您的代码看起来应该是这样的。

public View getView(final int position, View convertView,ViewGroup parent) 
{
   if(convertView == null)
   {
        LayoutInflater inflater = getLayoutInflater();
        convertView  = (LinearLayout)inflater.inflate(R.layout.YOUR_LAYOUT, null);
   }

   Button yourButton= (Button)  convertView  .findViewById(R.id.YOUR_BUTTON_ID);

   yourButton.setOnClickListener(new OnClickListener() 
   { 
       @Override
       public void onClick(View v) 
       {
           // Your code that you want to execute on this button click
           Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
           CurrentActivity.this.startActivity(myIntent);

       }

   });    
   return convertView ;
}

希望这有帮助。

答案 1 :(得分:0)

无论你在哪里夸大行视图,都要获取listItem中按钮的引用,并为其添加clickListener。您可以通过

设置监听器
button.setOnClickListener()

并在侦听器中点击调用新activity

将活动类声明为一个字段 -

private Context mCurrentContext = this;

当您调用新活动时,

mCurrentContext.startActivity(Intent, int);