有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何增加按键上的数字值?

我正在尝试创建一个应用程序,当按下按钮时,将屏幕上某个数字的值增加到下一个数字。它不起作用。我在下面给出了我的Java和XML代码

XML代码:

<Button
        安卓:id="@+id/button"
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:layout_marginTop="250dp"
        安卓:text="+" />

    <TextView
        安卓:id="@+id/textView"
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:layout_marginTop="50dp"
        安卓:paddingLeft="200dp"
        安卓:textSize="25sp"
        安卓:text="0" />

Java代码:

import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.view.View;
import 安卓.widget.Button;
import 安卓.widget.TextView;

public class MainActivity extends AppCompatActivity {
    Button btn;
    TextView txt;

    protected int a = 1;

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

        btn = (Button) findViewById(R.id.button);
        txt = (TextView) findViewById(R.id.textView);

    }

    public void display(final int n) {
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txt.setText(n);
            }
        });
    }

    public void increment(View view) {
        a = a + 1;
        display(a);
    }
}

这个按钮没有反应


共 (4) 个答案

  1. # 1 楼答案

    单击按钮上的时,增加a的值并显示到文本视图

       public class MainActivity extends AppCompatActivity {
                   Button btn;
                   TextView txt;
                  protected int a = 1;
    
                   @Override
                  protected void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
    
                 btn = (Button) findViewById(R.id.button);
                 txt = (TextView) findViewById(R.id.textView);
    
                btn.setOnClickListener(new View.OnClickListener() {
                       @Override
                        public void onClick(View v) {
                              a++;
                              txt.setText(a+"");
                        }
                });
             }
        }
    
  2. # 2 楼答案

    你必须增加计数器并设置新文本

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
        Button btn;
        TextView txt;
    
        protected int a = 1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            btn = (Button) findViewById(R.id.button);
            txt = (TextView) findViewById(R.id.textView);
    
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txt.setText(String.valueOf(++a));
                }
            });
        }
    }
    
  3. # 3 楼答案

    单击按钮时,增加a的值。然后将a传递给display方法。最后将值显示到textView

      public class MainActivity extends AppCompatActivity {
            Button btn;
            TextView txt;
    
            protected int a = 1;
    
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
    
                btn = (Button) findViewById(R.id.button);
                txt = (TextView) findViewById(R.id.textView);
    
                btn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                       a++;
                       display(a);
                    }
                });
    
            }
    
            public void display(int n) {
                txt.setText("" + n);
                //txt.setText(n);
            }
    }
    
  4. # 4 楼答案

    如果我没弄错的话,我们不能用某种方法调用onClickListener。 在任何情况下,将按钮中的代码更改为下一个,它都会工作

    int a = 0;
    
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            a = a + 1;
            txt.setText(a);
        }
    });
    

    在这种情况下,该代码会有所帮助。因为当我们点击按钮时,它会增加1上的a值