2011-09-21 35 views
3

列表视图内按钮在我的Android应用程序点击收听我有一个列表,每行中我有一个button。在按button时,应打开另一个activity。我有点困惑如何做点击监听器。任何人都可以提出建议吗?谢谢。在Android电子

注:我可以创建一个点击阵列适配器里面听着。然而,我无法从那里开始一个新的活动:(

回答

0

在哪里你膨胀的行视图,获得对listItem中的按钮的引用,并添加clickListener它你设置聆听者

button.setOnClickListener() 

,并在听者单击呼叫新activity

声明领域的活动类像这个 -

private Context mCurrentContext = this; 

当你叫新的活动,

mCurrentContext.startActivity(Intent, int); 
+0

我试过这个,问题是这样的:'startactivity'不被识别为一个函数。错误信息:'方法startActivity(Intent,int)未定义为新的类型View.onClickListener(){}' – ahsan

+1

然后试着做一个方法来完成活动的开始位,并让这个方法在onClick中被调用段.. – Urban

+0

@城市:这样做..但是,我没有看到任何东西在web视图中,但标题的加载罚款...以前它曾经工作得很好..不知道这是什么问题在这里:(..将在另一个问题 – ahsan

4

把一个按钮放在你的自定义视图中,并在getView方法中处理单击事件。

你的代码应该看起来像这样。

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 ; 
} 

希望这会有所帮助。