我有个问题。
在行"textView.setText(money + "$");“我的程序崩溃。
(money是int,textView1是my TextView的ID )
public TextView textView;
public void onCashClick(View view) {
money++;
textView = (TextView) view.findViewById(R.id.textView1);
textView.setText(money + "$");
}发布于 2016-12-22 15:39:16
下面这一行会让你的应用程序崩溃。因为单击发送的视图是按钮,而不是容器。因此,按钮不包含文本视图。你应该让NullPointerException站在那条线上。相反,您应该在textView方法上定义onCreate:
textView = (TextView) findViewById(R.id.textView1);只有在此之后,onCashClick调用:
按一下按钮。
更新:将代码更改为
public TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
textView = (TextView) view.findViewById(R.id.textView1);
}
public void onCashClick(View view) {
money++;
textView.setText(money + "$");
}发布于 2016-12-22 15:50:52
因为用于绑定文本视图的视图是单击按钮,而不是使用view.findViewById(),如果您在活动中,只需使用findViewById,如果您在片段中,则使用rootView。
发布于 2016-12-22 16:02:14
只需删除位于view之前的findViewByID,如下所示
textView = (TextView) findViewById(R.id.textView1);https://stackoverflow.com/questions/41286703
复制相似问题