将文本从 CardView 复制到剪贴板
Copy text from CardView to Clipboard
我有一个 RecyclerView
,每一行都有一个 CardView
。我有三个 TextView
。我想在 onClick
事件期间从 CardView
中的一个 TextView
复制文本。这是我目前所拥有的:
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);
}
}
上面的代码是否正确?如果没有,关于为什么它可能不起作用的任何建议?
假设点击功能有效,那么您的剪贴板实现是正确的。你错过了一件小事:
ClipData myClip = ClipData.newPlainText("text", v.minima.getText().toString());
我想你忘记了 v.minima.getText().toString()
声明。 getText()
本身不会 return 一个 String
值。根据 this,我很确定它会 return 一个 CharSequence[]
值。让我知道你过得怎么样。
我找到了解决方案:
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();
我有一个 RecyclerView
,每一行都有一个 CardView
。我有三个 TextView
。我想在 onClick
事件期间从 CardView
中的一个 TextView
复制文本。这是我目前所拥有的:
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);
}
}
上面的代码是否正确?如果没有,关于为什么它可能不起作用的任何建议?
假设点击功能有效,那么您的剪贴板实现是正确的。你错过了一件小事:
ClipData myClip = ClipData.newPlainText("text", v.minima.getText().toString());
我想你忘记了 v.minima.getText().toString()
声明。 getText()
本身不会 return 一个 String
值。根据 this,我很确定它会 return 一个 CharSequence[]
值。让我知道你过得怎么样。
我找到了解决方案:
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();