java - 如何在按钮按下时增加数字的值?
问题描述
我正在尝试创建一个应用程序,以在按下按钮时将屏幕上的数字值增加到下一个数字。它不工作。我在下面给出了我的 Java 和 XML 代码。
XML 代码:
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="250dp"
android:text="+" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:paddingLeft="200dp"
android:textSize="25sp"
android:text="0" />
Java代码:
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);
}
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);
}
}
该按钮没有反应。
解决方案
单击按钮时,增加 的值a
。然后传递a
to 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);
}
}
推荐阅读
- symfony - Symfony 4:bind vs arguments 关键字显式注入依赖
- javascript - 将分页移到数据表之外
- lua - Lua 中模数的替代方案
- python - 从气流运算符将参数传递给 sql 模板
- windows - 为什么 D3DCOLORtoUBYTE4 将分量乘以 255.001953f?
- python - 比较两个 CSV 文件并找到共同点,然后将两个文件值复制到新文件中
- javascript - 我应该使用哪些 Babel 预设?
- angular - Angular - 来自承诺的拦截器 HTTP 返回值
- reactjs - 从反应打字稿接口中删除重复
- php - 单个产品页面的自定义布局 - Woocommerce