2011-04-01 20 views
1

我已經能夠將所選圖像從網格視圖傳遞到新的全屏活動。我現在試圖捕捉圖像中的EXIF數據並將其傳遞到新的活動中。在新Activity中將EXIF數據讀取到textView中

從網格視圖傳遞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工作了幾個星期,但這種類型的活動似乎應該是可行的。 (或者我只是一個白癡)

謝謝!

回答

2

bundle.getFloat(ExifInterface.TAG_MAKE);不讀取任何內容。你實際上無法從圖像文件中讀取Exif數據。您只需在TextView中顯示名爲ExifInterface.TAG_MAKE的靜態字符串的內容即可。

該文檔可用:ExifInterface。您需要執行以下操作:

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

感謝馬文。我嘗試了另一個晚上,但我無法弄清楚如何聲明一個特定的文件名。 – Jrhonea 2011-04-02 05:44:07