2012-02-26 80 views
1

我有一個設置了一個onitemclickListener網格視圖,但是當我在它不工作任何人可以幫我IM struggeling項目點擊完成這件事觸發Onitemclick網格視圖

主要活動

public class BahashActivity extends Activity implements OnItemClickListener{ 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

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


    public void onItemClick(AdapterView<?> parent, View v, int position, 
      long id) { 

     if(position == 0){ 
      Intent i = new Intent(BahashActivity.this, Age.class); 
      BahashActivity.this.startActivity(i); 

     } 


    } 


} 

ImageAdapter

package your.age.namespace; 

import android.content.Context; 
import android.content.Intent; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.BaseAdapter; 
import android.widget.GridView; 
import android.widget.ImageView; 
import android.widget.Toast; 

公共類ImageAdapter延伸BaseAdapter { 私人語境mContext;

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { // if it's not recycled, initialize some 
           // attributes 
     imageView = new ImageView(mContext); 

     imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
    } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 
    return imageView; 
} 

// references to our images 
private Integer[] mThumbIds = { R.drawable.ic_launcher, 
     R.drawable.ic_launcher, R.drawable.ic_launcher, 
     R.drawable.ic_launcher, R.drawable.ic_launcher, 
     R.drawable.ic_launcher }; 

} 

回答

2

你打了電話嗎?

gridView.setOnItemClickListener(this); 
0

這沒有用。我不知道爲什麼,但是當你實現接口,並調用 「gridView.setOnItemClickListener(this);」,這是行不通的。

做到這一點的方法是:

gridView.setOnItemClickListener(new OnItemClickListener(){ 

      public void onItemClick(AdapterView<?> adapter, View view, int position, long arg3) { 

       Toast.makeText(getBaseContext(), "Proving", Toast.LENGTH_SHORT).show(); 


     } 

    }); 

我相信,這將正常工作。