2012-02-26 5 views
1

У меня есть вид сетки настроить с onitemclickListener, но когда я нажимаю на элемент он не работает может кто-нибудь, пожалуйста, помогите мне им-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 }; 

} 

ответ

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(); 


     } 

    }); 

Я уверен, что это будет работать нормально.

Смежные вопросы