我正在做一个应用程序,它包含一个存储gps数据的数据库,拍照并将其存储在ListView中显示的SQLite数据库中,如下所示:
我想做什么
我希望在单击列表项时,在新活动中打开与该图像路径相关的图像。
我有什么
我得到的是,当点击一个项目时,我可以进入吐司的图像路径。但我仍然坚持如何将此字符串值传递给新活动并使用它在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();
}
});
}
答案 0 :(得分:0)
尝试以下
关于你的方法:
在祝酒词显示后添加:
//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);
答案 1 :(得分:0)
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");