2011-03-07 5 views
0

これは、アプリ起動時の最初のアクティビティです。グリッドビューには、6つのクリック可能なアイコンが含まれています。アイコンはすべて異なるアクティビティに移動します。私は、私のアプリで別のことをするための新しい活動を始めることにぼんやりと問題はない。私は、当初は「私たちに連絡する」フォームで作業するために1つのアクティビティを作成しました。これらのアイコンの1つだけをそのアクティビティに移動したいのですが、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); 
      }; 
    }); 

私はあなたがはっきり見ることができるようにこれを行うことでnoobのビットをしています、このアプリを開発してきています。しかし、助けてくれてありがとう。

答えて

0

onitemClickメソッドでは、int positionパラメータを使用する必要があります。位置パラメータは、クリックされたグリッドビュー内のアイコンの位置です。次のようにだから私はあなたの必要性のためのスイッチ-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の中のすべてのアイコンの位置をすべての可能なケースをカバーするために、これを続けることになります。

関連する問題