Android: 从 url 点击 ListView item -> Popup box with ImageView in it
Android: Click on ListView item -> Popup box with ImageView in it from url
我已经实现了 listview 和 onItemClickListener,它们在 ListView 中点击 returns 我 url 图像。
这一切都发生在片段中,我如何在 ListView 之上创建另一个片段或框并从 URL 加载图像?
这是我的 onItemClickListener:
chat.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Object itm = parent.getItemAtPosition(position);
List<String> imageLink = extractUrls(String.valueOf(itm));
String displayLink = "no image";
if(imageLink.size() != 0){
displayLink = imageLink.get(0);
//Display image in popup.
}
}
});
这个解决方案很脏,但它只需要 5 行代码。
它在 AlertDialog
中使用 WebView
来下载和显示图像。
String displayLink = "https://cdn.sstatic.net/Whosebug/img/apple-touch-icon@2.png";
AlertDialog.Builder d = new AlertDialog.Builder(this);
WebView w = new WebView(this);
w.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
w.loadData("<img style=\"width:100%\" src=\""+displayLink+"\" />", "text/html", "utf-8");
d.setView(w).show();
我已经实现了 listview 和 onItemClickListener,它们在 ListView 中点击 returns 我 url 图像。
这一切都发生在片段中,我如何在 ListView 之上创建另一个片段或框并从 URL 加载图像?
这是我的 onItemClickListener:
chat.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Object itm = parent.getItemAtPosition(position);
List<String> imageLink = extractUrls(String.valueOf(itm));
String displayLink = "no image";
if(imageLink.size() != 0){
displayLink = imageLink.get(0);
//Display image in popup.
}
}
});
这个解决方案很脏,但它只需要 5 行代码。
它在 AlertDialog
中使用 WebView
来下载和显示图像。
String displayLink = "https://cdn.sstatic.net/Whosebug/img/apple-touch-icon@2.png";
AlertDialog.Builder d = new AlertDialog.Builder(this);
WebView w = new WebView(this);
w.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
w.loadData("<img style=\"width:100%\" src=\""+displayLink+"\" />", "text/html", "utf-8");
d.setView(w).show();