2011-03-07 75 views
0

這是在我的應用程序啓動時的初始Activity中。 gridview包含六個可點擊的圖標,我想要全部去不同的活動。我開玩笑地爲我的應用程序中的另一件事開始一個新的活動沒有問題。我創建了一個活動,只是爲了與最初一起工作,一個'聯繫我們'的形式。我只想要其中一個圖標進入該活動,但是我無法找到一種方法實現此功能,因此onItemClickListener回調會爲每個圖標註冊單獨的點擊並啓動相應的活動;目前,無論我點擊哪個圖標,他們都會進行相同的活動。請參閱下面的我的代碼:Android:在GridView中單獨點擊兒童

GridView gridview = (GridView) findViewById(R.id.gridview); 
    gridview.setAdapter(new ImageAdapter(this)); 


    gridview.setOnItemClickListener(new OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
     { 

      Intent myIntent = new Intent(); 
      myIntent.setClassName("com.beneast.main", "com.beneast.main.ContactUs"); 
      startActivity(myIntent); 
      }; 
    }); 

我有點小白的在做這個,你可以清楚地看到,這個應用程序是越來越發達,因爲我學到更多的東西。但謝謝你的幫助。

回答

0

您需要使用onitemClick方法中的int position參數。 position參數是gridview中被點擊過的圖標的位置。所以,我將按以下方式使用一個開關case語句爲你的需要:

gridview.setOnItemClickListener(new OnItemClickListener(){   
public void onItemClick(AdapterView<?> parent, View v, int position, long id)     
{ 
    switch(position) 
    { 
    case 0:    
    Intent myIntent = new Intent();    
    myIntent.setClassName("com.beneast.main", "com.beneast.main.ContactUs");     
    startActivity(myIntent); 
    break; 

    case 1: 
     Intent myIntent = new Intent();    
     myIntent.setClassName(X, Y); 
     startActivity(myIntent); 
     break; 
    } 
};  
}); 

你會繼續這即涵蓋所有可能的情況下,在GridView的所有圖標位置。