有人可以告诉我哪里出错了吗?
我正在尝试将我的文本视图MyText更改为其他内容,但是当我尝试时我收到错误:
引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法'android.view.View android.view.Window.findViewById(int)' 在android.app.Activity.findViewById(Activity.java:2071)
public class MainScreen extends Activity {
TextView texting = (TextView) findViewById(R.id.MyText);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
texting.setText("Test");
};
}
答案 0 :(得分:4)
这就是你的代码的样子:
public class MainScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
// If you're not using this view anywhere, you don't have to declare it globally. Use only a local variables
TextView texting = (TextView) findViewById(R.id.MyText);
texting.setText("Test");
};
}
您应该在拥有根布局后始终初始化视图。在这种情况下,你做了setContentView(R.layout.activity_main_screen)之后;此方案适用于Activites。
如果您使用片段,则应在onCreateView方法中夸大根布局后立即执行此操作。类似的东西:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = (LinearLayout) inflater.inflate(R.layout.my_fragment, container, false);
// THIS is where you start initializing your views
return view;
}
答案 1 :(得分:1)
在调用setContentView
之前,TextView不可用。因此,findViewById
将在MainScreen
实例化时返回null。解决方案是将findViewById
调用移至onCreate
方法,如下所示:
public class MainScreen extends Activity {
TextView texting;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
texting = (TextView) findViewById(R.id.MyText);
texting.setText("Test");
}
}
答案 2 :(得分:1)
执行以下操作:
public class MainScreen extends Activity {
TextView texting;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
texting = = (TextView) findViewById(R.id.MyText);
texting.setText("Test");
};
}
您必须在onCreate方法中初始化TextView对象。