1

カスタムアダプタを使用したリストフラグメントがあります。このアダプタには、新しいインテント(アクティビティ)を開始したい画像のonClickイベントがあります。私はこれを行うことができません。

誰かがコードを手伝ってくれませんか。

viewholder.gMaps = (ImageView) convertView.findViewById(R.id.imgMaps);
viewholder.gMaps.setClickable(true);
viewholder.gMaps.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.v(LOG_TAG, "Not sure how do I start an Activity");
        /*
        Intent intent = new Intent().setClass(((ListViewFragment) context), GMaps.class);
        intent.putExtra("Longitude", mList.get(holder.position).get("Longitude").toString());
        intent.putExtra("Latitude", mList.get(holder.position).get("Latitude").toString());
        startActivity(intent);
        */
    }
});
4

2 に答える 2

1

まだ答えを探している人は、以下のコードを参照してください

holder.gMaps.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent().setClass(v.getContext(), GMaps.class);
                intent.putExtra("Longitude", mList.get(holder.position).get("Longitude").toString());
                intent.putExtra("Latitude", mList.get(holder.position).get("Latitude").toString());
                v.getContext().startActivity(intent);

            }
        });
于 2012-08-07T07:51:19.567 に答える
0

Activity クラスの外で startActivity() を呼び出す場合は、新しい Activity としてフラグを設定する必要があります。

holder.gMaps.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent().setClass(v.getContext(), GMaps.class);
            intent.putExtra("Longitude", mList.get(holder.position).get("Longitude").toString());
            intent.putExtra("Latitude", mList.get(holder.position).get("Latitude").toString());
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            v.getContext().startActivity(intent);

        }
    });
于 2012-08-07T08:05:30.010 に答える