Android Studio OnClick只工作一次
当我尝试按下按钮时,它只工作一次Android Studio OnClick只工作一次,android,onclick,onclicklistener,Android,Onclick,Onclicklistener,当我尝试按下按钮时,它只工作一次 public class MainActivity extends AppCompatActivity { TextView txt; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
public class MainActivity extends AppCompatActivity {
TextView txt;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (TextView) findViewById(R.id.mytext);
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txt.setText("" +1);
}
} );
我怎样才能解决它?非常感谢我想你想做的是:
public class MainActivity extends AppCompatActivity {
TextView txt;
Button btn;
private int mCounter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (TextView) findViewById(R.id.mytext);
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txt.setText("" + mcounter++);
}
} );
现在,当您第一次单击按钮时,文本将为0,然后每次单击按钮时,文本都会向上计数。代码的问题是,它不是算术运算,因此每次都调用onclick方法,但每次都有相同的文本,因此它工作正常。每次单击都会设置相同的文本,因此您看不到任何更改。您的代码似乎正常 您可以添加调试
log
或显示toast
消息以了解按钮
单击状态
试试这个:
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txt.setText("" + 1);
// Log
Log.d("TEST", "Button clicked!");
// Toast
Toast.makeText(getApplicationContext(), "Button clicked!", Toast.LENGTH_SHORT).show();
}
} );
如果要在TextView
上显示增量值。试试这个:
// Initial value
final int count = 1;
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txt.setText(String.valueOf(count));
// Increment
count++
}
} );
希望这会有所帮助。没有理由。只有他的算术运算是错误的。