2016-09-18 38 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();

相關問題