簡體   English   中英

單擊項目時從listView打開圖像

[英]Open Image from listView when item is clicked

我正在做一個包含數據庫的應用程序,該數據庫存儲gps數據,拍照並將其存儲在ListView中顯示的SQLite數據庫中,如下所示:


  • 時間:HH:MM:SS
  • 緯度:0.00
  • 經度:0.00
  • 高度:0
  • 圖片:/ storage / sdcard0 /..../ image.jpg

我想做什么

我想當單擊列表中的一項時,在新活動中打開與該圖像路徑相關的圖像。


我有什么

我得到的是,當單擊某個項目時,我可以舉杯慶祝tat entry的圖像路徑。 但是,我仍然無法將字符串值傳遞給新活動,並使用它在imageview中顯示它。

這是我獲得商品數據的代碼部分:

        Contact_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
        Toast.makeText(MainActivity.this, "Has seleccionado " + contact_data.get( + i).getUrl(), Toast.LENGTH_SHORT).show();
        }
    });
}

嘗試以下

在您的方法上:

在您的烤面包顯示之后添加:

//Locate and create the image
File imgFile = new  File(“contact_data.get( + i).getUrl()”);

if(imgFile.exists()){
//Create a bitmap so the ImageView can load it
String myBitmap = imgFile.getAbsolutePath();

Intent myIntent = new Intent (CurrentClass.this, NewActivity.Class);
myIntent.putExtra("imagePath", myBitmap);
startActivity(myIntent)

在新活動中,聲明一個圖像視圖,然后添加以下內容:

Bitmap myBitmap = BitmapFactory.decodeFile(getIntent().getStringExtras("imagePath"));

ImageView myImage = (ImageView) findViewById(R.id.yourimageview);
myImage.setImageBitmap(myBitmap);
 Contact_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
           String imgUrl = contact_data.get( + i).getUrl();
           launchImageViewer(imgUrl);

        }
});


public void launchImageViewer(String url){
   Intent i = new Intent(this, YourImageViewActivity.class);
   i.putExtra("imageUrl", url);
   startActivity(i);
}

然后在第二個活動的onCreate()中查找額外的內容並使用它:

String imgUrl = getIntent().getExtra("imageUrl");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM