2012-10-18 5 views
-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를 호출하려고합니다. 파키스탄을 클릭하면 다른 활동을 호출 할 수 있습니다. 나는 이것을 의도와 함께하고 싶다. 방법?GridView에서 다른 액티비티 호출하기 onclick

+0

형식으로주세요. 너 뭐 해봤 니? – njzk2

답변

0

OnItemSelected 인터페이스를 구현하고 거기에서 click 이벤트를 처리하십시오. 클릭 한 항목을 검사하고이를 기반으로 다른 의도를 실행할 수 있습니다.

0

http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html#onItemSelected가에 대한 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); 
     } 
    } 
}); 
관련 문제