从CardView复制文本到剪贴板



我有一个RecyclerView,每一行我有一个CardView。我有3个TextView。我想在onClick事件期间从CardView中的TextView s中复制文本。这是我目前所看到的:

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    public TextView ora, onoma_xristi, minima;
    public CardView card;
    public ViewHolder(View view) {
        super(view);
        card = (CardView) view.findViewById(R.id.single_row_cardview);
        ora = (TextView) view.findViewById(R.id.ora);
        onoma_xristi = (TextView) view.findViewById(R.id.onoma_xristi);
        minima = (TextView) view.findViewById(R.id.minima);
        view.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        ClipboardManager myClickboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
        ClipData myClip = ClipData.newPlainText("text", v.minima.getText());
        myClickboard.setPrimaryClip(myClip);
    }
}

上面的代码正确吗?如果没有,有什么建议,为什么它可能不起作用?

我找到了解决方案:

ClipboardManager myClickboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
        ClipData myClip = ClipData.newPlainText("text", minima.getText().toString());
        myClickboard.setPrimaryClip(myClip);
        Toast.makeText(v.getContext(), v.getResources().getString(R.string.antigrafike), Toast.LENGTH_SHORT).show();

假设点击功能可以工作,那么您拥有的剪贴板实现是正确的。你少了一件小事:

ClipData myClip = ClipData.newPlainText("text", v.minima.getText().toString());

我想你忘记了v.minima.getText().toString()语句。getText()本身不会返回String的值。我很确定它会根据这个返回一个CharSequence[]值。

最新更新