Чтение EXIF-данных в textView в новом Activity - PullRequest
1 голос
/ 01 апреля 2011

Мне удалось передать выбранное изображение из сетки в новый полноэкранный режим.Сейчас я пытаюсь захватить 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.*

Я не получаю никаких ошибок при отладке, и не было ни одной проблемы принудительного закрытия.Есть ли что-то, что мне не хватает?Я работаю с Java только пару недель, но этот вид деятельности должен быть выполнимым.(или я просто идиот)

Спасибо!

1 Ответ

2 голосов
/ 01 апреля 2011

bundle.getFloat(ExifInterface.TAG_MAKE); ничего не читает.Вы фактически нигде не читаете данные Exif из файла изображения.Вы просто показываете в TextView содержимое статической строки с именем ExifInterface.TAG_MAKE.

Доступна документация: ExifInterface .Вам нужно будет сделать что-то вроде:

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