提问者:小点点

如何通过单击它在Android中选择特定的TextView并通过按钮设置其文本


我正在Android中开发一个数独求解器应用程序。我已经完成了表格布局的设计,每个单元格都有一个TextView

如何通过单击选择特定的TextView并通过按钮单击设置其文本?

我想喜欢,在按钮点击哪个曾经TextView被选中应该改变它的文本。


共2个答案

匿名用户

您可以使用当前选择数字保留一个变量。在每个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;
        }
    });