在Button被点击后更新TextView



我想做一个基本的计数器。

这个想法是,用户按下按钮,应用程序显示按钮被按了多少次。

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

我的理解是,当按下按钮时,我将num增加1。然后,它获得提示字符串(单击:%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);
        }
    });
} 
}

任何帮助都会很感激。

你正在设置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)
} 
}
clickhere.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        num++;
        tView.setText(Integer.toString(num));
    }
});

这将设置你的textview等于num

相关内容

  • 没有找到相关文章

最新更新