2012-05-23 45 views
0

可能重複:
Create a clickable image in a GridView in Android製作網格佈局圖像轉換成按鈕打開seprate活動的每個

我已經設置了網格佈局,但想使圖像開放的單獨活動的我代碼如下所示:

package android.grid.layout; 

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

public class ImageAdapter extends BaseAdapter {0} {0} {0}私有上下文mContext;

// Keep all Images in array 
public Integer[] mThumbIds = { 
     R.drawable.group_off, R.drawable.indoor_off, R.drawable.outdoors_off, 
     R.drawable.attractions_off, R.drawable.playcentre_off, R.drawable.animals_nature_off, 
     R.drawable.entertainment_off, R.drawable.arts_off, R.drawable.educational_off, 
     R.drawable.museum_off, R.drawable.historical_off, R.drawable.exercise_off, 
     R.drawable.swimming_off, R.drawable.restaurant_off, R.drawable.partyhat_off 
}; 

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

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

@Override 
public Object getItem(int position) { 
    return mThumbIds[position]; 
} 

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

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView = new ImageView(mContext); 
    imageView.setImageResource(mThumbIds[position]); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
    imageView.setLayoutParams(new GridView.LayoutParams(70, 70)); 
    return imageView; 
} 

}

,並讀取它看起來像這樣

package android.grid.layout; 

進口android.app.Activity類; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView;

公共類HomeActivity延伸活動{

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.grid_layout); 

    GridView gridView = (GridView) findViewById(R.id.grid_view); 

    // Instance of ImageAdapter Class 
    gridView.setAdapter(new ImageAdapter(this)); 

} 

}

我將如何讓每一個點擊可以打開一個新的獨立的活動有內部自定義列表?

+0

你見過[這](http://stackoverflow.com/questions/738817/create-a-clickable-image-in-a-gridview -in-機器人)? – keyser

回答

0

內Adpater的GetView添加點擊監聽器,

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView = new ImageView(mContext); 
    imageView.setImageResource(mThumbIds[position]); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
    imageView.setLayoutParams(new GridView.LayoutParams(70, 70)); 
    imageView.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View view) { 
    Intent i=new Intent(context,activity.class); 
    startActivity(i); 
    } 

}); 

    return imageView; 
} 
+0

對不起,我如何獲得鏈接到每個圖像,使每個人開始自己的不同活動? – Cem22lp

+0

說真的,你想開始不同的活動?你打算怎麼做。您是否要動態創建活動?沒門。您可能需要考慮使用Put Extra Intent並使用標誌值並在單個活動中執行操作。 –

+0

如果不是有兩種方法。在圖像的onClick中,你將能夠獲得位置,所以根據位置硬編碼來啓動Activity,或者聲明一個Activity數組和數組,並根據位置調用該數組的活動。但我不相信這是可能的 –