我正在尝试在Android Studio中创建一个简单的计算器,但在文本视图中重复相同的数字时遇到了麻烦。

例如,如果我按计算器上的1,它将在顶部显示数字1,但是如果我再次按它,​​则什么也不会发生。

因此,我不能使数字大于9。

这是我的代码:



public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = findViewById(R.id.button0);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TextView tv = findViewById(R.id.textView);
                tv.setVisibility(view.VISIBLE);
                tv.setText("0");
            }
        });

        btn = findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TextView tv = findViewById(R.id.textView);
                tv.setVisibility(view.VISIBLE);
                tv.setText("1");
            }
        });
    }
}

最佳答案

使用textViewObj.setText("1");将始终替换视图中的现有文本。根据您对需求的描述,textViewObj.append("1");应该是可以满足要求的设备。

如下将textViewObj.setText("1");替换为textViewObj.append("1");

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            TextView tv = findViewById(R.id.textView);
            tv.setVisibility(view.VISIBLE);
            tv.append("1");
        }
    });

07-24 21:42