-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 时,我想调用另一个 Activty。并在单击巴基斯坦时调用另一个活动。我想用 Intent 做到这一点。如何?

4

2 回答 2

0

实现OnItemSelected接口并在那里处理点击事件。您可以检查被单击的项目并基于此触发不同的意图。

http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html#onItemSelected

于 2012-10-18T08:12:15.883 回答
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 回答