我已经能够将选定的图像从网格视图传递到新的全屏活动。我现在正尝试从图像中捕获EXIF数据,并将其传递到新活动中。

从网格视图传递int的第一个活动似乎运行良好。

public class test extends Activity {
public static int pos;


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



    GridView gridview = (GridView) findViewById(R.id.thumbgridview);
    gridview.setAdapter(new tImageAdapter(this));


    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
             Intent intent = new Intent(test.this,test2.class);
                pos=position;
                intent.putExtra("pos", pos);
                startActivity(intent);
            finish();




        }
    });}
}


显示完整图像的第二个活动似乎运行良好。

public class test2 extends Activity {


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


        Bundle bundle= getIntent().getExtras();
        ImageView image = (ImageView) findViewById(R.id.imagefull);

        int pos = bundle.getInt("pos");
        bundle.getFloat(ExifInterface.TAG_MAKE);

        tImageAdapter obj = new tImageAdapter(this);
        image.setImageResource(obj.tThumbIds[pos]);

        Button bDIR = (Button) findViewById(R.id.bDIR);
        bDIR.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                Intent intent = new Intent(test2.this,Direct.class);

                intent.putExtra(ExifInterface.TAG_MAKE, 0);
                startActivity(intent);
            finish();







            }


        });


现在,当我进行最后的活动时,我在文本视图中看到的是Make一词。

    public class Direct extends Activity {

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

           Bundle bundle= getIntent().getExtras();

            bundle.getFloat(ExifInterface.TAG_MAKE);

    TextView textview = (TextView) findViewById(R.id.dirtext);
    textview.setText(ExifInterface.TAG_MAKE);



    }
}


我没有在调试中遇到任何错误,也没有一个强制关闭问题。我有什么想念的吗?我只使用Java了几周,但是这种活动似乎应该可行。 (或者我只是个白痴)

谢谢!

最佳答案

bundle.getFloat(ExifInterface.TAG_MAKE);不读取任何内容。您无处可从图像文件中实际读取Exif数据。您只是在TextView中显示名为ExifInterface.TAG_MAKE的静态字符串的内容。

该文档可用:ExifInterface。您将需要执行以下操作:

ExifInterface exifReader = new ExifInterface(filename);
textview.setText(exifReader.getAttribute(ExifInterface.TAG_MAKE));

关于android - 在新的Activity中将EXIF数据读取到textView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5510474/

10-12 05:22