单击按钮后更新TextView?

RTL*_*RTL 5 android counter button textview

我正在努力做一个基本的反击.

想法是用户按下按钮,应用程序显示按下按钮的次数.

我的问题是我不确定如何更新文本视图.我的理解是它的XML部分检索字符串,这些字符串在运行时设置.那么我该如何"更新""最终"的东西呢?

我的理解是当按下按钮时,我将num递增1.然后,它获得提示字符串(Clicks:%d)并将其显示在屏幕上.但是,每当我运行它时,它就会崩溃.

public class HelloAndroid extends Activity{
/** Called when the activity is first created. */

int num = 0;
TextView tView;
Button clickhere;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    tView = (TextView) findViewById(R.id.textView1);
    clickhere = (Button) findViewById(R.id.button1);

    clickhere.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            num++;
            String display = String.format(getString(R.string.prompt), num);
            tView.setText(display);
            setContentView(tView);

        }
    });

} 
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Bri*_*eil 4

您在单击时设置 TextView (而不是单击按钮时),我猜这不是您想要做的。我已更新下面的代码以在单击按钮时设置 TextView。

 public class HelloAndroid extends Activity{
/** Called when the activity is first created. */

int num = 0;
TextView tView;
Button clickhere;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    tView = (TextView) findViewById(R.id.textView1);
    clickhere = (Button) findViewById(R.id.button1);

    clickhere.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            String display = String.format(getString(R.string.prompt, Integer.toString(++num)));
            tView.setText(display);
        }
    });

    //you don't need an event handler on the TextView (given the description of the problem)

} 
}
Run Code Online (Sandbox Code Playgroud)