gpt4 book ai didi

android - 带有图像的弹出窗口

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:32 25 4
gpt4 key购买 nike

我需要能够在 listview 中单击 imgview,这应该会打开一个显示全尺寸图像的弹出窗口。我已经设法实现了 clicklistener,但始终无法创建弹出窗口,即使只是测试 textview

在我运行的 mainActivity oncreate 中

lstView.setAdapter(new CustomListViewAdapter(this, dataFromDBListe, 0, orientation));

在我的 CustomListVievAdapter 中,我有我的 clicklistener(此时可以显示 toast )我有以下 getView():

public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.custom_row, null);
holder = new ViewHolder();
holder.title = (TextView) convertView.findViewById(R.id.title);
holder.prev = (TextView) convertView.findViewById(R.id.prevNrDate);
holder.prevTitle = (TextView) convertView.findViewById (R.id.prevTitle);
holder.next = (TextView) convertView.findViewById(R.id.nextNrDate);
holder.nextTitle = (TextView) convertView.findViewById (R.id.nextTitle);
holder.picture = (ImageView) convertView.findViewById (R.id.showPic);
holder.prevFast = (TextView) convertView.findViewById(R.id.prev);
holder.nextFast = (TextView) convertView.findViewById(R.id.next);
holder.linearLayout = (LinearLayout) convertView.findViewById (R.id.imgLay);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
testSort(holder);
final Show item = showList.get(position);
holder.title.setText(item.getTitle());
holder.prev.setText(item.getPrevNr() + " - " + item.getPrevDate());
holder.prevTitle.setText(item.getPrevTitle());
holder.next.setText(item.getNextNr() + " - " + item.getNextDate());
holder.nextTitle.setText(item.getNextTitle());

if(pic) {
holder.linearLayout.setVisibility(8);
} if(compact) {
holder.linearLayout.setVisibility(8);
holder.prevTitle.setVisibility(8);
holder.nextTitle.setVisibility(8);
} else {
// new DownloadImageTask(holder.picture).execute(item.getShowId());
String path;
if(ih.checkImg(item.getShowId())) {
path = PATH + item.getShowId() + ".jpg";
} else {
path = "bla";
}
// DrawableManager dm = new DrawableManager();
// dm.fetchDrawableOnThread(path, holder.picture);
imageDownloader.download(path, holder.picture);
// ih.download(path, holder.picture);
}

holder.picture.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast.makeText(context, "IMG clicked",
Toast.LENGTH_LONG).show();
//Show popup with full image of the clicked small img.
}
});

return convertView;
}

我在这里为弹出窗口尝试了大多数常用的 linkedto 解决方案,但无法使其工作。

最佳答案

创建自定义对话框并在其中传递图像....

private void loadPhoto(ImageView imageView, int width, int height) {

ImageView tempImageView = imageView;


AlertDialog.Builder imageDialog = new AlertDialog.Builder(this);
LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);

View layout = inflater.inflate(R.layout.custom_fullimage_dialog,
(ViewGroup) findViewById(R.id.layout_root));
ImageView image = (ImageView) layout.findViewById(R.id.fullimage);
image.setImageDrawable(tempImageView.getDrawable());
imageDialog.setView(layout);
imageDialog.setPositiveButton(resources.getString(R.string.ok_button), new DialogInterface.OnClickListener(){

public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}

});


imageDialog.create();
imageDialog.show();
}

custom_fullimage_dialog.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root" android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:padding="10dp">
<ImageView android:id="@+id/fullimage" android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ImageView>

<TextView android:id="@+id/custom_fullimage_placename"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:textColor="#FFF">
</TextView>
</LinearLayout>

关于android - 带有图像的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com