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 に答える