-2
String[] countries = new String[] {"India","Pakistan"};    
int[] flags = new int[]{R.drawable.india, R.drawable.pakistan};    
List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();    
for(int i=0;i<10;i++){
    HashMap<String, String> hm = new HashMap<String,String>();    
    hm.put("txt", countries[i]);    
    hm.put("flag", Integer.toString(flags[i]) );    
    aList.add(hm);
}    
String[] from = { "flag","txt"};    
int[] to = { R.id.flag,R.id.txt};    
SimpleAdapter adapter = new SimpleAdapter(getBaseContext(), aList, R.layout.gridview_layout, from, to);    
GridView gridView = (GridView) findViewById(R.id.gridview);    
gridView.setAdapter(adapter); 

これが私のグリッド ビューです。India Image をマウスでクリックすると、別の Actvivty を呼び出したいと思います。パキスタンをクリックすると、別のアクティビティも呼び出されます。これをIntentでやりたい。どのように?

4

2 に答える 2

0

そのためにGridviewのonitemclicklistenerコードを追加してください。

gridView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
        if(countries[arg2].equals("India")){
            Intent mIndia=new Intent(this, India_Activity.class);
            startActivity(mIndia);
        } else if(countries[arg2].equals("Pakistan")){
            Intent mPakistan=new Intent(this, Pakistan_Activity.class);
            startActivity(mPakistan);
        }
    }
});
于 2012-10-18T08:25:25.697 に答える
0

インターフェイスを実装OnItemSelectedし、そこでクリックイベントを処理します。クリックされたアイテムを調べて、それに基づいて別のインテントを起動できます。

http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html#onItemSelectedを参照してください

于 2012-10-18T08:12:15.883 に答える