2012-08-31 57 views
2

這是我的自定義OnClickListener。我從ButtonAdapter.class傳遞我的Gridview按鈕的位置。我想爲網格視圖的每個按鈕打開一個新的活動。我應該在MyOnClickListener.class中做什麼修改?爲GridView的每個按鈕打開一個新活動

MyOnClickListener.class

import android.content.Intent; 
import android.view.View; 
import android.view.View.OnClickListener; 

public class MyOnClickListener implements OnClickListener { 


private final int position; 

    public MyOnClickListener(int position) 
    { 
     this.position = position; 
    } 

    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Intent intent = new Intent(v.getContext(), WordsList.class); 
     v.getContext().startActivity(intent); 
    } 

} 

我得到了解決。我試過這個,它工作!

public class MyOnClickListener implements OnClickListener { 


private final int position; 

public MyOnClickListener(int position) 
{ 
    this.position = position; 
} 

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch(position){ 
     case 0: 
     Intent a = new Intent(v.getContext(), WordsList.class); 
     v.getContext().startActivity(a); 
     break; 
    case 1: 
     Intent b = new Intent(v.getContext(), About.class); 
     v.getContext().startActivity(b); 
     break; 

    } 


} 

} 
+0

你現在面臨什麼問題? – Swayam

+0

問題解決了。我用開關(位置){案例0:....} –

回答

3

或者類似的東西:

private Class[] activities = { 
    Activity1.class, // position=0 
    Activity2.class, // position=1 
    //... 
    }; 

public void onClick(View v) { 
    Intent intent = new Intent(v.getContext(), activities[position]); 
    v.getContext().startActivity(intent); 
} 

但是,這是非常簡單的,也許我錯過了點?

+0

這也可以。 –

1
public void onClick(View v) { 
    // TODO Auto-generated method stub 
Intent intent; 
switch(v.getId()) 
{ 
    case R.id.btn1: 
     intent = new Intent(v.getContext(), WordsList1.class); 
     v.getContext().startActivity(intent); 
     break; 
    case R.id.btn2: 
     intent = new Intent(v.getContext(), WordsList2.class); 
     v.getContext().startActivity(intent); 
     break; 
    } 

} 
0

我敢肯定,你應該使用OnItemClickListener,因爲它是專門爲基於用戶界面適配器。 除了視圖本身(如OnClick)之外,它還會傳遞給您,還包括位置和ID,以便識別調用者並在其上正確行事。

相關問題