我试图将 onClickListener 添加到 RecyclerView 中的一个按钮,该按钮将复制一个字符串,但它说 getSystemService(CLIPBOARD_SERVICE) 不可用。
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)getSystemService(CLIPBOARD_SERVICE);
String text;
text = EditText.getText().toString();
myClip = ClipData.newPlainText("text", text);
myClipboard.setPrimaryClip(myClip);
Toast.makeText(getApplicationContext(), "Text Copied", Toast.LENGTH_SHORT).show();
}
});
}
最佳答案
您需要一个 Context
才能做到这一点。执行:
...
public void onClick(View v) {
myClipboard = (ClipboardManager) v.getContext().getSystemService(CLIPBOARD_SERVICE);
...
}
关于java - getSystemService() 不适用于适配器类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256230/