我正在Android中开发一个数独求解器应用程序。我已经完成了表格布局的设计,每个单元格都有一个TextView
。
如何通过单击选择特定的TextView
并通过按钮单击设置其文本?
我想喜欢,在按钮
点击哪个曾经TextView
被选中应该改变它的文本。
您可以使用当前选择数字
保留一个变量。在每个TextView
上。onTouchListener
更新此变量值
并在单击按钮时,根据此变量的值更新TextView。
示例代码:
int currentSelectedNumber = 0;
tv1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
currentSelectedNumber = 1;
return true;
}
});
tv2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
currentSelectedNumber = 2;
return true;
}
});
按钮点击:
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (currentSelectedNumber){
case 0:{
tv1.setText("Your Text");
break;
}
case 1:{
tv2.setText("Your Text");
break;
}
}
}
});
当您长按text view
时,使用以下代码复制文本:
参考:如何在Android中为TextView启用标准复制粘贴?
textView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipboardManager cManager = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData cData = ClipData.newPlainText("text", getText());
cManager.setPrimaryClip(cData);
Util.toast(mContext, string.text_copyed);
return true;
}
});