0

我正在尝试使图像可点击,以便在按下它们时将用户发送到另一个页面或链接。

我怎样才能做到这一点?目前, 中的每一行GridView都有 2 Buttons。它如何知道单击了哪个项目,GridView以便执行特定于被单击项目的特定操作。

谢谢你的帮助!

这是在我的图像适配器类中:

// 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.setAdjustViewBounds(true);
       // imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setPadding(4, 8, 4, 8);
    } else {
        imageView = (ImageView) convertView;
    }

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

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

3 回答 3

2

只需将侦听器添加到 GridView

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

    gridView.setOnItemClickListener(new OnItemClickListener()
    {
        public void onItemClick(AdapterView parent,
        View v, int position, long id)
        {
            data.aktueltBilledeNr = position;
            Toast.makeText(getBaseContext(), "Viser billede " + (position + 1), Toast.LENGTH_SHORT).show();
            finish();
            //startActivity(new Intent(Resultatsoversigt_akt.this, Teoriproeveaktivitet2.class));
       }
    });
于 2010-12-05T03:37:32.620 回答
0

您可能需要考虑使用 ImageButton 类来为您执行此操作。它是一个按钮,但不是有一个无聊的灰色渐变,而是在那里放置一个图像! Andriod ImageButton Docs 从那里您可以像使用常规按钮一样自由使用点击监听器。

于 2010-08-07T03:23:13.163 回答
0

首先找到按钮的位置(这里是图片),然后使用开关盒来执行你所说的......

GridView gridView = (GridView) findViewById(R.id.gridview);    
gridView.setAdapter(new ImageAdapter());      
gridView.setOnItemClickListener(new OnItemClickListener() {       
    public void onItemClick(AdapterView parent,View v,int position,long     id)               {   
        switch(position) {
        case 0:
            Intent intent=new Intent(this,targer.class);
            StartActivity(intent);
            break;
        case 1:
            break;     
        .
        .
        .

        default:
            break;
        }
    }
});
于 2012-08-21T06:04:42.743 回答