Android 如何在自定义对话框中相对于位置显示回收器视图项目?
我无法将Android 如何在自定义对话框中相对于位置显示回收器视图项目?,android,json,android-recyclerview,Android,Json,Android Recyclerview,我无法将Recyclerview的项目显示到我的自定义对话框中。 我有一个Recyclerview,其中有一个imageview和三个文本视图整个数据来自API 我成功地在Recyclerview中显示了所有数据我只想打开一个包含相同数据的对话框有人可以帮我处理这些代码吗? 这是我的适配器类 public class ImageUploadAdapter extends RecyclerView.Adapter<ImageUploadAdapter.MyViewHolder> {
Recyclerview
的项目显示到我的自定义对话框中。
我有一个Recyclerview
,其中有一个imageview
和三个文本视图整个数据来自API
我成功地在Recyclerview
中显示了所有数据我只想打开一个包含相同数据的对话框有人可以帮我处理这些代码吗?
这是我的适配器类
public class ImageUploadAdapter extends RecyclerView.Adapter<ImageUploadAdapter.MyViewHolder> {
Context context;
GetImageBySerialResponse getImageBySerialResponse[];
ImageLoader imageLoader ;
DisplayImageOptions defaultOptions=new DisplayImageOptions
.Builder().cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY).displayer(new FadeInBitmapDisplayer(300)).build();
public ImageUploadAdapter(GetImageBySerialResponse getImageBySerialResponse[],Context context){
this.context=context;
this.getJCImageBySerialResponse=getJCImageBySerialResponse;
ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(context).
defaultDisplayImageOptions(defaultOptions).memoryCache(new WeakMemoryCache()).diskCacheSize(100*1024*1024).build();
ImageLoader.getInstance().init(configuration);
imageLoader=ImageLoader.getInstance();
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.image_upload_list_item, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder,final int position) {
holder.textViewTitle.setText(getImageBySerialResponse[position].title);
holder.textViewTitleDesc.setText(getImageBySerialResponse[position].comment);
holder.textViewImageCreateInfo.setText(getImageBySerialResponse[position].createUserId+" "/*+ UtilityOfActivity.convertLongDateToShortDateTime(getImageBySerialResponse[position].createDate)*/);
// imageLoader.displayImage(getImageBySerialResponse[position].imageUrl, holder.uploadedImage);
imageLoader.displayImage(getImageBySerialResponse[position].imageData,holder.uploadedImage);
ImageLoaderListener(getImageBySerialResponse[position].imageData,holder.uploadedImage);
holder.textViewEditIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ImageUploadAdapterClickListener imageUploadAdapterClickListener=new DataSheetImageGallery();
imageUploadAdapterClickListener.imageUploadAdapterClickListener(context,position,"Edit Icon",imageLoader);
}
});
}
@Override
public int getItemCount() {
return getJCImageBySerialResponse.length;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
CircularImageView uploadedImage;
TextView textViewTitle, textViewTitleDesc, textViewImageCreateInfo, textViewEditIcon;
String ImageSerial;
String strInvoieNo, strCompany, strLocation, strInvoiceDoc, strInvoiceFY, strStatus;
Button deleteImage;
public MyViewHolder(View view) {
super(view);
textViewTitle = (TextView) view.findViewById(R.id.textViewTitle);
textViewTitleDesc = (TextView) view.findViewById(R.id.textViewTitleDesc);
textViewImageCreateInfo = (TextView) view.findViewById(R.id.textViewImageCreateInfo);
textViewEditIcon = (TextView) view.findViewById(R.id.textViewEditIcon);
deleteImage=(Button) view.findViewById(R.id.deleteImage);
uploadedImage = (CircularImageView) view.findViewById(R.id.uploadedImage);
}
}
public void ImageLoaderListener( String url,final CircularImageView uploadedImage){
imageLoader.loadImage(url,new ImageLoadingListener(){
@Override
public void onLoadingStarted(String imageUri, View view) {
Log.e("tag", "onLoadingStarted");
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
Log.e("tag", "onLoadingFailed");
}
@Override
public void onLoadingComplete(String imageUri, View view, final Bitmap loadedImage) {
Log.e("tag", "onLoadingComplete");
uploadedImage.setImageBitmap(loadedImage);
uploadedImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawableResource(R.color.transparent);
dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
dialog.setContentView(R.layout.custom_dialog);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
// /* TextView tvSampleText = (TextView) dialog.findViewById(R.id.custom_dialog_btn_done);
// ImageView imageView=(ImageView)dialog.findViewById(R.id.imageView);
//
//
TextView dialogtxt1=(TextView)dialog.findViewById(R.id.dialogtxt1);
ImageView imageView=(ImageView)dialog.findViewById(R.id.imageView);
imageView.setImageBitmap(loadedImage);
Button btnDone = (Button) dialog.findViewById(R.id.custom_dialog_btn_done);
Button custom_dialog_btn_done1 = (Button) dialog.findViewById(R.id.custom_dialog_btn_done);
btnDone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
dialog.getWindow().setAttributes(lp);
}
});
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
Log.e("tag", "onLoadingCancelled");
}
});
}
public interface ImageUploadAdapterClickListener {
void imageUploadAdapterClickListener(Context context, int position, String calledBy, ImageLoader imageLoader);
}
}
公共类ImageUploadAdapter扩展了RecyclerView.Adapter{
语境;
GetImageBySerialResponse GetImageBySerialResponse[];
图像加载器;
DisplayImageOptions defaultOptions=新的DisplayImageOptions
.Builder();
公共ImageUploadAdapter(GetImageBySerialResponse GetImageBySerialResponse[],上下文){
this.context=context;
getjcmagebyserialresponse=getjcmagebyserialresponse;
ImageLoaderConfiguration配置=新建ImageLoaderConfiguration.Builder(上下文)。
defaultDisplayImageOptions(defaultOptions).memoryCache(新的WeakMemoryCache()).diskCacheSize(100*1024*1024).build();
ImageLoader.getInstance().init(配置);
imageLoader=imageLoader.getInstance();
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
View itemView=LayoutInflater.from(parent.getContext())
.充气(R.layout.image\u upload\u list\u项,父项,false);
返回新的MyViewHolder(itemView);
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,最终整数位置){
holder.textViewTitle.setText(getImageBySerialResponse[position].title);
holder.textViewTitleDesc.setText(getImageBySerialResponse[position].comment);
holder.textViewImageCreateInfo.setText(getImageBySerialResponse[position].createUserId+“”/*+活动的实用性。ConvertLongDateToSortDateTime(getImageBySerialResponse[position].createDate)*/);
//imageLoader.displayImage(getImageBySerialResponse[position].imageUrl,holder.UploadeImage);
imageLoader.displayImage(getImageBySerialResponse[position].imageData,holder.UploadeImage);
ImageLoaderListener(getImageBySerialResponse[position].imageData,holder.UploadeImage);
holder.textViewEditIcon.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
ImageUploadAdapterClickListener ImageUploadAdapterClickListener=new DataSheetImageGallery();
imageUploadAdapterClickListener.imageUploadAdapterClickListener(上下文,位置,“编辑图标”,imageLoader);
}
});
}
@凌驾
public int getItemCount(){
返回getjcmagebyserialresponse.length;
}
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
CircularImageView上传图像;
TextView textViewTitle、textViewTitleDesc、textViewImageCreateInfo、textViewEditIcon;
字符串图像序列;
字符串strInvoieNo、strCompany、strLocation、strInvoiceDoc、strInvoiceFY、strStatus;
按钮删除图像;
公共MyViewHolder(视图){
超级(视图);
textViewTitle=(TextView)view.findViewById(R.id.textViewTitle);
textViewTitleDesc=(TextView)view.findViewById(R.id.textViewTitleDesc);
textViewImageCreateInfo=(TextView)view.findViewById(R.id.textViewImageCreateInfo);
textViewEditIcon=(TextView)view.findViewById(R.id.textViewEditIcon);
deleteImage=(按钮)view.findViewById(R.id.deleteImage);
UploadeImage=(CircularImageView)view.findViewById(R.id.UploadeImage);
}
}
public void ImageLoaderListener(字符串url,最终CircularImageView上载图像){
loadImage(url,new ImageLoadingListener()){
@凌驾
public void onLoadingStarted(字符串imageUri,视图){
Log.e(“标记”、“加载开始”);
}
@凌驾
public void onload失败(字符串imageUri、视图视图、失败原因){
Log.e(“标记”,“加载失败”);
}
@凌驾
public void onLoadingComplete(字符串imageUri、视图视图、最终位图加载图像){
Log.e(“标记”、“加载完成”);
UploadeImage.setImageBitmap(LoadeImage);
UploadeImage.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
最终对话框=新对话框(上下文);
对话框.requestWindowFeature(窗口.FEATURE\u无\u标题);
dialog.getWindow().setBackgroundDrawableResource(R.color.transparent);
对话框。可设置可取消(false);
对话框。setCanceledOnTouchOutside(false);
setContentView(R.layout.custom_对话框);
WindowManager.LayoutParams lp=新建WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width=WindowManager.LayoutParams.MATCH\u父项;
lp.height=WindowManager.LayoutParams.MATCH\u父项;
///*TextView tvSampleText=(TextView)dialog.findViewById(R.id.custom\u dialog\u btn\u done);
//ImageView=(ImageView)dialog.findViewById(R.id.ImageView);
//
//
TextView dialogtxt1=(TextView)dialog.findViewById(R.id.dialogtxt1);
ImageView=(ImageView)dialog.findViewById(R.id.ImageView);
setImageBitmap(LoadeImage);
钮扣