2011-03-07 82 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的所有图标位置。