【发布时间】:2018-07-20 21:12:09
【问题描述】:
我正在尝试实现一个 Gridview,它显示来自可绘制对象的预定义 ImagesViews 数组,并且我希望每个 ImageView 在 onClick 打开一个活动时,您可以在下面看到我的代码...
ImageAdapter.java
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
//CLASS TO FILL THE GRID VIEW AS ADAPTER AT activity_main.xml WITH IMAGES OF OUR CATEGORIES
public class ImageAdapter extends BaseAdapter {
private Context mContext;
// Keep all Images in array
public Integer[] mThumbIds = {
R.drawable.test_icon_1, R.drawable.test_icon_2,
R.drawable.test_icon_3, R.drawable.test_icon_4,
};
// 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(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
return imageView;
}
}
activity_main.xml
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="2"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
我找不到实现这一点的方法并让它了解要打开哪个活动,因为稍后我想通过显示从 SQLite 数据库请求的 ImageViews 并在单击时打开特定活动来实现这一点。
我正在考虑通过传递一个整数来做到这一点,例如1,2,3,4... 并将其作为 parent_category_id 的 SQL 参数并动态显示 child_categories_ids
【问题讨论】:
标签: java android gridview imageview