2011-09-21 37 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 ; 
} 

希望這會有所幫助。