用于完整图像活动的网格视图点击事件,在android中自动调整大小图像

时间:2014-01-21 05:38:55

标签: android grid

我有一个使用“布局充气器”的网格视图代码。我想要一个单击事件的代码,通过它我可以在下一个活动中打开完整的图像。所以我想要这个充气机的点击事件代码,因为我没有得到它。

这是我的主要图片适配器代码。

public class MainActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

GridView gridView = (GridView)findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
}

private class MyAdapter extends BaseAdapter
{
private List<Item> items = new ArrayList<Item>();
private LayoutInflater inflater;

public MyAdapter(Context context)
{
inflater = LayoutInflater.from(context);

items.add(new Item("Image 1", R.drawable.nature1));
items.add(new Item("Image 2", R.drawable.nature2));
items.add(new Item("Image 3", R.drawable.tree1));
items.add(new Item("Image 4", R.drawable.nature3));
items.add(new Item("Image 5", R.drawable.tree2));
}

@Override
public int getCount() {
return items.size();
}

@Override
public Object getItem(int i)
{
return items.get(i);
}

@Override
public long getItemId(int i)
{
return items.get(i).drawableId;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup)
{
View v = view;
ImageView picture;
TextView name;

if(v == null)
{
v = inflater.inflate(R.layout.gridview_item, viewGroup, 
v.setTag(R.id.picture, v.findViewById(R.id.picture));
v.setTag(R.id.text, v.findViewById(R.id.text));
}

picture = (ImageView)v.getTag(R.id.picture);
name = (TextView)v.getTag(R.id.text);

Item item = (Item)getItem(i);

picture.setImageResource(item.name.setText(item.name);

return v;
}

private class Item
{
final String name;
final int drawableId;
Item(String name, int drawableId)
{
this.name = name;
this.drawableId = drawableId;
}
}
}
}

我在下面的代码中使用了click事件,但它无法正常工作。请为Layout Inflator

建议一些点击事件代码
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View, int position, long id) {

// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});

1 个答案:

答案 0 :(得分:0)

setItemClickListener到您的gridview并覆盖onItemClick方法

 gridView.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View v,
                        int position, long id) {

                    // Sending image id to FullScreenActivity
                    Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
                    // passing array index
                    i.putExtra("id", position);
                    startActivity(i);
                }
            });