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