简体   繁体   English

每个按钮单击可更改文本视图

[英]every button click to change text view

i coded this lines to change textview1 Continuous when user clicked button but it sucks at value 1 in output why :\\ 我对这行代码进行了更改,以更改textview1当用户单击按钮时连续,但是为什么输出中的值是1:\\

public class dobeyti extends AppCompatActivity { 公共类dobeyti扩展了AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dobeyti);
   final TextView tView;
    Button mButton;

    tView = (TextView)findViewById(R.id.textView1);
    mButton = (Button)findViewById(R.id.button);
    assert mButton != null;
    mButton.setOnClickListener(new View.OnClickListener() {


        @Override
        public void onClick(View v) {
            int num = 0;
            num++;


           tView.setText(Integer.toString(num));
        }
    });

    }
}

Becuase you defined the num value inside the onclick method so it will be reassigned to 0 every time. 因为您在onclick方法中定义了num值,所以每次都会将其重新分配为0。

Just put int num=0 outside the method like below: 只需将int num=0放在如下所示的方法之外:

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dobeyti);
   final TextView tView;
Button mButton;

tView = (TextView)findViewById(R.id.textView1);
mButton = (Button)findViewById(R.id.button);
assert mButton != null;
mButton.setOnClickListener(new    View.OnClickListener() {

    int num = 0;
    @Override
    public void onClick(View v) {

        num++;


       tView.setText(Integer.toString(num));
    }
});

}
}

Move int num = 0; 移动int num = 0; outside OnClickListener. 在OnClickListener之外。 Every time you click button value on variable num is set to 0 -> increased to 1 and set as text, that is why it stuck at 1. 每次单击变量num上的按钮值时,将其设置为0->增大为1并设置为文本,这就是为什么它停留在1的原因。

int num = 0;
mButton.setOnClickListener(new View.OnClickListener() {


    @Override
    public void onClick(View v) {
        num++;
       tView.setText(Integer.toString(num));
    }
});

}

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM