蹉跎莫遣韶光老,人生唯有读书好。这篇文章主要讲述如何在OncreateMethod中同时使用AppCompatActivity和Activity类[重复]。相关的知识,希望能为你提供帮助。
这个问题在这里已经有了答案:什么是NullPointerException,如何解决?(12个回答)封闭 3个月前.我建立了语言设置(使用activity类)和工具栏设置(使用appcompatactiviy)。我想让它们在createmethod上进行设置,但我不能扩展两个类,即activity和appcompatactivity。但我不能扩展两个类,即activity和appcompatactivity。我将它们分别扩展到两个类(toolbar和SetupActivity)。我从toolbar类中调用toolbar settings来设置toolbar,但是编译器给了我一个错误。我怎样才能做到不出错呢?我可能会犯错误,因为我是新的类主题。代码。
class toolbar extends AppCompatActivity{
@Override
public void setSupportActionBar(@Nullable Toolbar toolbar) {
super.setSupportActionBar(toolbar);
}@Nullable
@Override
public ActionBar getSupportActionBar() {
return super.getSupportActionBar();
}
}public class SetupActivity extends Activity{@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Locale locale;
if(getLocale()==null){
locale = Locale.getDefault();
}else{
locale = new Locale(getLocale());
}Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
setContentView(R.layout.activity_setup);
Toolbar setupToolBar= findViewById(R.id.setupToolbar);
toolbar a = new toolbar();
a.setSupportActionBar(setupToolBar);
a.getSupportActionBar().setTitle(R.string.action_setting_text);
}public String getLocale(){
SharedPreferences prefs= getSharedPreferences("Settings",
Activity.MODE_PRIVATE);
String language= prefs.getString("My_Lang", "");
return language;
}
错误:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tower935.blogcom.tower935.blog.SetupActivity}: java.lang.NullPointerException: 试图在一个空对象引用上调用虚拟方法'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()'。请帮我解决这个问题。谢谢。
答案你可能会得到NPException,因为一些组件没有被初始化。
尝试设置setContentView(R.layout.activity_setup)。
就在super.onCreate(savedInstanceState)之后,设置setContentView(R.layout.activity_setup)。
【如何在OncreateMethod中同时使用AppCompatActivity和Activity类[重复]。】像这样。
@override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup);
// Rest of the code goes here
}
推荐阅读
- RenderScript在Android 6上崩溃
- 我可以在Aws AppSync解析器映射模板中对用户输入进行消毒吗()
- 在安卓系统中,我不能在viewholder中设置图片。
- Android FusedLocationProviderClient.requestLocationUpdates()返回相同的位置坐标。
- 无法获得Android系统中googlemap V2上标记的自定义信息窗口的点击事件。
- 在AppleScript中,在标记后面取X符号并保存到变量中。
- 希望对Android应用中的Kotlin非空断言错误进行解释。
- Android Studio布局问题
- Android Studio线性布局元素Listen