更改android /JAVA中变量的值

Kal*_*esh 3 java android button textview onclicklistener

我试图制作一个简单的应用程序,其中单击tapb Button增加 notaps 的变量值,重置Button将其设置为 0。当我单击tapb它时,它会增加值并单击reset重置它,但是当我再次单击tabp它时,它会从以前的值开始增加。

例如:

init value of notaps = 0;
Run Code Online (Sandbox Code Playgroud)

我点击tabp3 次,notaps价值 = 3

我点击resetnotaps值 = 0

我点击tabp3 次,notaps价值 = 4

    Button tapb = (Button)findViewById(R.id.tapb);
    Button reset = (Button)findViewById(R.id.reset);


    tapb.setOnClickListener(
            new Button.OnClickListener(){
                int notaps = 0;
                @Override
                public void onClick(View v) {
                    TextView taps = (TextView)findViewById(R.id.taps);
                    notaps++;
                    taps.setText(String.valueOf(notaps));

                }
            }
    );

    reset.setOnClickListener(
            new Button.OnClickListener() {

                @Override
                public void onClick(View v) {
                    TextView taps = (TextView) findViewById(R.id.taps);
                    int notaps=0;
                    taps.setText(String.valueOf(notaps));

                }
            }
    );
Run Code Online (Sandbox Code Playgroud)

Tud*_*uca 5

首先,您有 2 个彼此无关的int命名实例notaps。您的重置按钮未设置正确的notaps变量。

这是一个应该有效的片段。

    private int notaps;

    Button tapb = (Button)findViewById(R.id.tapb);
    Button reset = (Button)findViewById(R.id.reset);
    TextView taps = (TextView)findViewById(R.id.taps);

    tapb.setOnClickListener(
        new Button.OnClickListener(){
            @Override
            public void onClick(View v) {
                notaps++;
                taps.setText(String.valueOf(notaps));
            }
        }
    );

    reset.setOnClickListener(
        new Button.OnClickListener() {
            @Override
            public void onClick(View v) {
                notaps = 0;
                taps.setText(String.valueOf(notaps));
            }
        }
    );
Run Code Online (Sandbox Code Playgroud)