2016-09-18 40 views
0

我有这个设置,我想在项目被点击时在对话框中显示项目详细信息。我正在使用下面的代码,但是当单击该项目时,对话框不会显示,并且我没有任何错误。我想在点击对话框中显示我的项目信息

public class ptaAdapters extends RecyclerView.Adapter<ptaAdapters.ptaViewHolder> 
{ 
    private LayoutInflater inflater; 
    List<ptaModel> mDataList = Collections.emptyList(); 
    private Context context; 

    public ptaAdapters(Context context, List<ptaModel> ptaList) 
    { 
     this.inflater = LayoutInflater.from(context); 
     this.mDataList = ptaList; 
     this.context = context; 

    } 
    @Override 
    public ptaViewHolder onCreateViewHolder(ViewGroup parent, int viewType) 
    { 
     View view = inflater.inflate(R.layout.pta_list_item,parent,false); 

     ptaViewHolder holder = new ptaViewHolder(view); 
     return holder; 
    } 

    @Override 
    public int getItemCount() 
    { 
     return mDataList.size(); 
    } 

    @TargetApi(Build.VERSION_CODES.N) 
    @Override 
    public void onBindViewHolder(ptaViewHolder holder, int position) 
    { 
     final ptaModel current = mDataList.get(position); 

     holder.date.setText(current.getDate()); 
     holder.minutes.setText(current.getContent()); 
     holder.title.setText(current.getTitle()); 

     holder.minutes.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View view) 
      { 

      AlertDialog.Builder builder = new AlertDialog.Builder(context); 
      LayoutInflater inflater = ((Activity) context).getLayoutInflater(); 

      builder.setTitle(current.getTitle()); 
      builder.setMessage(current.getContent()); 

      builder.setView(inflater.inflate(R.layout.pta_detail_view, null)) 
       .setPositiveButton("Done", new DialogInterface.OnClickListener() 
       { 
        @Override 
        public void onClick(DialogInterface dialog, int id) 
        { 
         dialog.cancel(); 
        } 
       }); 
builder.create(); 
      } 
     }); 
    } 
    class ptaViewHolder extends RecyclerView.ViewHolder 
    { 
     TextView date,minutes,title; 

     public ptaViewHolder(View itemView) 
     { 
      super(itemView); 
      date = (TextView) itemView.findViewById(R.id.pta_date); 
      minutes = (TextView) itemView.findViewById(R.id.pta_minutes); 
      title = (TextView)itemView.findViewById(R.id.pta_title); 
     } 

    } 
} 
+0

什么样的类型是pta_detail_view?你正试图用这个替换一个textview ... –

回答

1

拨打builder.setView()后致电builder.create().show()。你的对话不会显示,如果你不打电话.show()

1

我注意到你只创建对话框,但你没有告诉它显示。

使用builder.create().show();

相关问题