Cru*_*nch 10 android popupwindow
我需要能够点击imgviewa listview,这应该打开一个显示图像fullsize的弹出窗口.我已经设法实现了clicklistener,但是在创建弹出窗口时仍然没有成功,即使只是进行测试textview.
在我的mainActivity oncreate中运行
lstView.setAdapter(new CustomListViewAdapter(this, dataFromDBListe, 0, orientation));
Run Code Online (Sandbox Code Playgroud)
在我的CustomListVievAdapter中,我有clicklistener(此时可以显示吐司)我有以下内容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;
}
Run Code Online (Sandbox Code Playgroud)
我在这里为popupwindow尝试了大多数常用链接解决方案,但无法使其正常工作.
Zoo*_*bie 29
创建自定义对话框并在其中传递图像....
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();
}
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25972 次 |
| 最近记录: |