2017-04-06 3 views
-1

私はリサイクラカードビューを実装しており、ボタンクリックメソッドを使用してcardViewのコンテンツをコピーしたいと考えています。 cardviewには2つのテキストがあり、私はコンテンツのみをコピーしたい、カードごとに異なる。これどうやってするの? ここに私のCardviewアダプタがあります。クリップボードにカードビューのコンテンツをコピー

public static class ViewHolder extends RecyclerView.ViewHolder{ 
     Button copyButton; 
     Button shareButton; 


     TextView title; 
     TextView content; 
     public ViewHolder(View itemView) { 
      super(itemView); 
      this.title = (TextView)itemView.findViewById(R.id.card_title); 
      this.content = (TextView)itemView.findViewById(R.id.card_content); 
      this.copyButton= (Button)itemView.findViewById(R.id.copyButton); 
      this.shareButton=(Button)itemView.findViewById(R.id.shareButton); 


     } 
    } 

    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_item,parent,false); 
     ViewHolder viewHolder = new ViewHolder(view); 
     return viewHolder; 
    } 

    @Override 
    public void onBindViewHolder(ViewHolder holder, int position) { 
     holder.title.setText(cardItems.get(position).title); 
     holder.content.setText(cardItems.get(position).content); 
     holder.copyButton.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v){ 


       myClipboard = (ClipboardManager) v.getContext().getSystemService(Context.CLIPBOARD_SERVICE); 


       myClip = ClipData.newPlainText("label", v.content.getText().toString()); 
       myClipboard.setPrimaryClip(myClip); 
       Toast.makeText(v.getContext(), "Copied to clipboard" , Toast.LENGTH_SHORT).show(); 

      } 
     }); 
     holder.shareButton.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v){ 
       Intent share = new Intent(Intent.ACTION_SEND); 
       share.setType("text/plain"); 
       share.putExtra(Intent.EXTRA_TEXT, "This message is being sent to another app"); 
       v.getContext().startActivity(Intent.createChooser(share, "Share Text")); 
      } 
     }); 
    } 

v.content.getText()。toString()、コンテンツは解決できません。

答えて

0

1

変数vがButtonで、それはテキストを持っている、あなたは(あなたは、コピーするテキストを持っている場合)あなたのEditTextTextViewでそれを行う必要はありませ

0
次のことを試してみてください

クリップボードにコピーするcardviewの内容(recyclerview) このコードを試してください。

@Override 
protected void populateViewHolder(Attitude.BlogViewHolder viewHolder, Blog model, int position) { 
    viewHolder.setText(model.getText()); 

    final String text = model.getText(); 
    viewHolder.copy.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      myClipboard = (ClipboardManager) v.getContext().getSystemService(Context.CLIPBOARD_SERVICE); 

      myClip = ClipData.newPlainText("label", text); 
      myClipboard.setPrimaryClip(myClip); 
      Toast.makeText(v.getContext(), "Copied to clipboard" , Toast.LENGTH_SHORT).show(); 

     } 
    }); 
} 

public static class BlogViewHolder extends RecyclerView.ViewHolder { 

    View mView; 
    Button copy; 

    public BlogViewHolder(View itemView) { 
     super(itemView); 
     mView = itemView; 
     this.copy= (Button)itemView.findViewById(R.id.copy_btn); 
    } 
} 
0
public static class ViewHolder extends RecyclerView.ViewHolder{ 
     Button copyButton; 
     Button shareButton; 


     TextView title; 
     TextView content; 
     public ViewHolder(View itemView) { 
      super(itemView); 
      this.title = (TextView)itemView.findViewById(R.id.card_title); 
      this.content = (TextView)itemView.findViewById(R.id.card_content); 
      this.copyButton= (Button)itemView.findViewById(R.id.copyButton); 
      this.shareButton=(Button)itemView.findViewById(R.id.shareButton); 


     } 
    } 

    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_item,parent,false); 
     ViewHolder viewHolder = new ViewHolder(view); 
     return viewHolder; 
    } 

    @Override 
    public void onBindViewHolder(ViewHolder holder, int position) { 
     holder.title.setText(cardItems.get(position).title); 
     holder.content.setText(cardItems.get(position).content); 
     holder.copyButton.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v){ 


       myClipboard = (ClipboardManager) v.getContext().getSystemService(Context.CLIPBOARD_SERVICE); 


       myClip = ClipData.newPlainText("label", v.cardItems.get(position).content); 
       myClipboard.setPrimaryClip(myClip); 
       Toast.makeText(v.getContext(), "Copied to clipboard" , Toast.LENGTH_SHORT).show(); 

      } 
     }); 
     holder.shareButton.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v){ 
       Intent share = new Intent(Intent.ACTION_SEND); 
       share.setType("text/plain"); 
       share.putExtra(Intent.EXTRA_TEXT, "This message is being sent to another app"); 
       v.getContext().startActivity(Intent.createChooser(share, "Share Text")); 
      } 
     }); 
    } 
+1

あなたがやった、なぜかを説明してみてください? – Hima

関連する問題