【发布时间】:2020-08-01 12:57:10
【问题描述】:
我建立了语言设置(使用活动类)和工具栏设置(使用 appcompatactiviy)。我希望将它们设置为 oncreatemethod。但我不能扩展两个类是活动和 appcompatactivity。我将它们分别扩展到两个类(工具栏和 SetupActivity)。我从工具栏类调用工具栏设置来设置工具栏,但编译器给了我一个错误。我怎样才能做到这一点而不会出错。我会犯错误,因为我是课堂主题的新手。代码:
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:无法启动活动 ComponentInfo{com.tower935.blog/com.tower935.blog.SetupActivity}:java.lang.NullPointerException:尝试调用虚拟方法 'android.content.pm.ApplicationInfo android.content. Context.getApplicationInfo()' 在空对象引用上。请帮我解决这个问题。谢谢。
【问题讨论】:
标签: java android class extend appcompatactivity