【问题标题】:Changing integer value in OnClickListener在 OnClickListener 中更改整数值
【发布时间】:2013-03-13 21:36:28
【问题描述】:

我有一个整数变量,我想在按下按钮但代码不起作用时更改它。是说我应该将 bpm 设置为 final,但是当我这样做时,我无法增加它!

Java 代码:

super.onCreate(savedInstanceState);
int bpm;
setContentView(R.layout.activity_metronome);
final Button plus = (Button) findViewById(R.id.tempop);
final Button minus = (Button) findViewById(R.id.tempom);
final Button confirm_tempo = (Button) findViewById(R.id.confirmtempo);
final TextView curbpm = (TextView) findViewById(R.id.curbpm);
bpm=60;
curbpm.setText("" + bpm);

plus.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        bpm++;
        curbpm.setText(""+bpm);
    }
});

【问题讨论】:

    标签: android integer onclicklistener


    【解决方案1】:

    使其成为类范围这意味着将其从方法中取出。

    int bpm;
    @Override
    protected void onCreate (Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_metronome);
      final Button plus = (Button) findViewById(R.id.tempop);
      final Button minus = (Button) findViewById(R.id.tempom);
      final Button confirm_tempo = (Button) findViewById(R.id.confirmtempo);
      final TextView curbpm = (TextView) findViewById(R.id.curbpm);
      bpm=60;
      curbpm.setText("" + bpm);
    
      plus.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
          bpm++;
          curbpm.setText(""+bpm);
        }
      });
    }
    

    使用String.valueOf (bpm) 代替""+bpm 也更简洁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多