网格中的图像视图

时间:2014-06-08 10:27:54

标签: android

当我们点击它时,我正试图从网格中显示图像。

package course.examples.UI.GridLayout;

import java.util.ArrayList;
import java.util.Arrays;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;

public class GridLayoutActivity extends Activity {

protected static final String EXTRA_RES_ID = "POS";

private int[]  mThumbIdsFlowers = {R.drawable.image1, R.drawable.image2,
                R.drawable.image3, R.drawable.image4,     

                R.drawable.image5,
                R.drawable.image6, R.drawable.image7, R.drawable.image8,
                R.drawable.image9, R.drawable.image10, R.drawable.image11,
                R.drawable.image12};


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String[] description = null;

    try
    {description=getResources().getStringArray(R.array.description);

    }
    catch (Exception e){
        System.out.println(e);
    }
    GridView gridview=(GridView) findViewById(R.id.gridview);

    gridview.setAdapter(new ImageAdapter(this, mThumbIdsFlowers,description));

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {
            Intent intent = new Intent(GridLayoutActivity.this,
                    ImageViewActivity.class);
            intent.putExtra(EXTRA_RES_ID, (int) id);
            startActivity(intent);
        }
    });
}
}

这是另一项活动

package course.examples.UI.GridLayout;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
public class ImageViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = getIntent();
    ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageResource(intent.getIntExtra(GridLayoutActivity.EXTRA_RES_ID, 0));
    setContentView(imageView);
}
}

这里我试图将id保存在intent标签中并访问另一个将显示图像的活动。但是在GridView中单击图像它显示空白屏幕

1 个答案:

答案 0 :(得分:0)

而不是

intent.putExtra(EXTRA_RES_ID, (int) id);

将图片ID传递给您的其他活动

intent.putExtra(EXTRA_RES_ID, mThumbIdsFlowers[position]); 
相关问题