java - 在android中使用简单的 TextView 和按钮小部件

标签 java android

我正在尝试编写一个基本程序,您可以在其中按下一个按钮,然后它会添加到一个整数。我在更新 TextView 时遇到问题。

package com.example.curtis.simpleapplication;

import android.app.Activity; 
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends Activity {
    int num;
    TextView numview;

    private void updateNumber(){
        TextView numview = (TextView)findViewById(R.id.Number);
        numview.setText(num);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setupButton();
    }
    private void setupButton() {
        Button button = (Button) findViewById(R.id.Button);
        button.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                num = num + 1;
                numview.setText(num);
            }

        });
    }

如果我想进入 android 领域,帮助会很棒,而书籍并没有太大帮助

最佳答案

这里有一些错误。首先,您永远不会调用 updateNumber() ,因此永远不会设置 numview 。此外,您有两个 TextView numView,一次在您的 MainActivity 中全局,一次在 updateNumber() 中。有一个更好的方法可以做到这一点。但首先转到 activity_main.xml 文件,并在按钮标记内添加行 android:onClick="onClick" ,如下所示:

<Button
    android:id="@+id/button1"
    ...
    android:onClick="onClick"/>

接下来在 MainActivity.java 中添加以下代码行:

package com.example.curtis.simpleapplication;

import android.app.Activity; 
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends Activity {
     int num = 0;
     TextView numview;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);

         numview = (TextView)findViewById(R.id.Number);
    }

    public void onClick(View view){
        num += 1;
        numview.setText(String.valueOf(num));
    }
}

由于 android:onClick 属性,当您单击按钮时,将自动调用 onClick()。

关于java - 在android中使用简单的 TextView 和按钮小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26950405/

相关文章:

java - 由于空指针错误,Android 蓝牙应用程序无法运行

android - 无法从 ViewPager 中删除 fragment ,为什么?

java - 优化/限制缓存Spring的大小

java - curveVertex() 不在处理中绘制?

java tomcat6 : javax. ws丢失

java - AngularJS:服务器端架构

java - 使用 JPA (postgres) 在 Spring 应用程序中嵌套事务

android - android前台服务相关问题

android - 我如何知道我的应用程序是否使用 Robolectric 运行?

android - Android Pie 上的空白/白色通知行