这是非常简单的代码,但是当我初始化TextView
时,应用程序崩溃了。
我是一个初学者,所以我不知道我做错了什么...。但是我认为代码看起来不错。 Android Studio也不会报告任何错误。
int counterint = 0;
TextView counter = findViewById(R.id.countertv);
public void pressthebutton(View view){
counterint++;
counter.setText(counterint);
}
答案 0 :(得分:2)
您可能在类实例化期间设置了TextView
。您应该按照以下步骤更新代码:
int counterint = 0;
TextView counter;
public void onCreate (Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(<your_layout>);
// Set the textView only after setContent.. Otherwise, findViewById will return null
counter = findViewById(R.id.countertv);
}
public void pressthebutton(View view){
counterint++;
counter.setText(Integer.toString(counterInt));
}
答案 1 :(得分:0)
尝试以这种方式设置textview:
public void pressthebutton(View view){
counterint++;
counter.setText(String.valueOf(counterInt));
}
答案 2 :(得分:0)
该错误导致,因为您直接将一个整数值分配给TextView。将整数或任何数据类型分配给TextView时,最好将其转换为String
int counterint = 0;
TextView counter = findViewById(R.id.countertv);
public void pressthebutton(View view){
counterint++;
counter.setText(Integer.toString(counterint));
}
otherview,您可以先将Integer值转换为字符串,然后按如下所示将其分配给TextView
int counterint = 0;
TextView counter = findViewById(R.id.countertv);
String counterString = Integer.toString(counterint)
public void pressthebutton(View view){
counterint++;
counter.setText(counterString);
}
答案 3 :(得分:0)
尝试
counter.setText(counterint+"");
它会自动将字符串值设置为textview
答案 4 :(得分:0)
您可以尝试以下方法:
public void pressthebutton(View view){
counter.setText(String.valueOf(++counterint));
}