- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望我的应用程序中具有语言更改功能,该功能可以提供用户功能来从设置更改应用程序语言,但在开始时我希望打开默认应用程序,因此我创建了虚拟项目来测试我正在访问的位置来自类的语言首选项是语言的定义因素,这里是它的代码(显然我知道我没有以正确的方式使用sharedPreference,并且我知道错误是因此造成的,所以请帮助在此应用程序中设置共享首选项):
public class LanguagePreferences extends Activity {
public int language;
int check;
SharedPreferences settings = getSharedPreferences("mysettings",
Context.MODE_PRIVATE);
public LanguagePreferences()
{
language=settings.getInt("language", 0);
}
public void changeLang()
{
check=settings.getInt("language",0);
if(check==0)
{
settings.edit().putInt("language", 1);
settings.edit().comment();
}
else
{
settings.edit().putInt("language", 1);
settings.edit().comment();
}
}
}
以及一个用于在设置中更改应用程序语言的按钮,其代码如下:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.change);
btnLang=(Button)findViewById(R.id.change);
btnLang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LanguagePreferences l= new LanguagePreferences();
l.changeLang();
}
});
}
以及主要 Activity ,如果语言是不同的代码,我将更改文本值:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.text);
Button btnLang = (Button) findViewById(R.id.buttonlang);
SharedPreferences settings = getSharedPreferences("mysettings",
Context.MODE_PRIVATE);
btnLang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, Change.class);
startActivity(i);
}
});
LanguagePreferences l = new LanguagePreferences();
if (l.language == 0) {
tv.setText("Germany");
} else {
tv.setText("English");
}
}
我正在使用共享首选项来保存数据,但在开始时 Activity 关闭并且不响应错误显示。感谢任何帮助。
错误日志:
09-11 17:44:26.200: D/AndroidRuntime(13952): Shutting down VM
09-11 17:44:26.200: W/dalvikvm(13952): threadid=1: thread exiting with uncaught exception (group=0x414112a0)
09-11 17:44:26.208: E/AndroidRuntime(13952): FATAL EXCEPTION: main
09-11 17:44:26.208: E/AndroidRuntime(13952): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.dummy/com.example.dummy.MainActivity}: java.lang.NullPointerException
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.ActivityThread.access$600(ActivityThread.java:140)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.os.Handler.dispatchMessage(Handler.java:99)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.os.Looper.loop(Looper.java:137)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.ActivityThread.main(ActivityThread.java:4895)
09-11 17:44:26.208: E/AndroidRuntime(13952): at java.lang.reflect.Method.invoke(Method.java:511)
09-11 17:44:26.208: E/AndroidRuntime(13952): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
09-11 17:44:26.208: E/AndroidRuntime(13952): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
09-11 17:44:26.208: E/AndroidRuntime(13952): at dalvik.system.NativeStart.main(Native Method)
09-11 17:44:26.208: E/AndroidRuntime(13952): Caused by: java.lang.NullPointerException
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:101)
09-11 17:44:26.208: E/AndroidRuntime(13952): at com.example.dummy.LanguagePreferences.<init>(LanguagePreferences.java:18)
09-11 17:44:26.208: E/AndroidRuntime(13952): at com.example.dummy.MainActivity.onCreate(MainActivity.java:36)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.Activity.performCreate(Activity.java:5163)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
09-11 17:44:26.208: E/AndroidRuntime(13952): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2061)
09-11 17:44:26.208: E/AndroidRuntime(13952): ... 11 more
09-11 17:44:43.325: I/Process(13952): Sending signal. PID: 13952 SIG: 9
最佳答案
正如评论中提到的,最有可能的是设置变量是问题所在。
尝试在 onCreate() 方法中初始化它。
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
SharedPreferences settings = getSharedPreferences("mysettings", Context.MODE_PRIVATE);
}
您可以找到有关如何使用这些共享首选项的更多信息 here .
<小时/>根据您的示例:
LanguagePreferences l = new LanguagePreferences();
您将在此处创建一个新的 Activity
对象。你不应该这样做。 Activity 由 android 管理。您应该使用生命周期方法和回调来与它们交互。仅将语言存储在共享首选项中,而不是存储在 Activity 的成员变量中。
关于java - 安卓 : saving value for app language,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32522119/
我正在从tangowithdjango学习django 。我试图理解 populate_rango.py 的代码。代码是: import os os.environ.setdefault('DJANG
我试图理解Rserve参数--save,-no-save和--vanilla之间的区别。我在文档或任何论坛中都没有看到任何描述这些效果的内容。有谁确切地知道这些是做什么的? 在OSX中,我需要指定其中
我正在使用 CoreData 制作一个基于文档的应用程序。我可以创建一个新文档,编辑该文档,然后保存它。文件已创建并可以打开。打开后,数据会正确加载。但是,一旦进行了初始保存,所有后续保存都不会执行任
下面提出了类似的问题 How to save complete web page 但目前还没有答案。预期的结果是得到很多文件,一些文件来存储图像等。 我使用了以下内容,它会弹出一个窗口说保存文件 va
我们一直在测试一种不同的保存方式。然而,结果并不像我们预期的那样。我们有创建调查的方法,每个调查有多个问题。我们测试了几个案例,它们都以相同的方式提交查询。 @Transactional class
我想了解JAP Repotitoty的详细信息。我创建了一个服务类、实体类和存储库类,如下所示(用 kotlin 编写)并执行了 ItemService#update 方法。 执行 item2Repo
我正在开发我的第一个 Firefox 扩展。我正在尝试将数据保存在浏览器的本地存储中(使用 Window.localStorage 很容易,但我正在关注 official recommandation
这让我很郁闷。我是 C Sharp 的新手,因此需要一些帮助。我的保存/另存为完全是胡说八道。 真的有两个问题: 如何在不弹出保存对话框的情况下保存对现有文件的更改?如果我单击“保存”,它会弹出一个对
我有一个代码可以将 XML 文件保存到我的目录中。它在我的本地主机和我的共享主机中实际上就像一个魅力,但它在我的 Linux VPS 中不起作用。 我总是遇到这个错误: 警告:DOMDocument:
有没有办法在 django 管理站点中同时“另存为”和“保存并添加另一个”? 最佳答案 我不认为按钮引用的 URL 有任何神奇之处,因此您可以通过简单地覆盖每个 http://docs.djangop
创建 playramework 的模型时,我们可以使用 save() 或 _save() 方法。为什么这两种方法在框架中都可用,原因是什么? (在这种情况下,他们做同样的事情 - 将对象保存到数据库)
我见过两个都调用 $save 的代码和 save到 $resource 的 Angular 。 有什么区别,你什么时候使用? 最佳答案 最佳解释===例子 : // by writing '{ id:
根据save bang your head, active record will drive you mad ,在特殊情况下我们应该避免使用 save! 和 rescue 习惯用法。鉴于此,假设模型
我的菜单栏中有两个按钮,其中包含“保存”和“另存为”按钮。但是,我目前拥有它们相同的代码,并且它会按当前方式保存,并提示用户要保存在哪里。我希望保存按钮仅保存而不提示对话框,除非文件尚不存在。 我尝试
我知道 models.Model 和 forms.ModelForm 都包含您可以覆盖的 .save() 方法。我的问题是它们如何以及何时用于保存对象以及以什么顺序。 最佳答案 ModelForm.s
我一直在尝试使用 freeze_graph函数来获取模型+权重/偏差,但在这个过程中,我发现我的初始网络似乎没有任何变量,尽管能够正确分类图像。我的代码如下: #!/usr/bin/python im
尝试使用 gTTS 模块将文本转换为语音并另存为 wav 文件。 我的代码: import gTTS text = "This is my text in the saving folder" tts
我有一个包含大约 50 个字段和两个提交按钮的表单,“保存”和“保存并提交”。如果用户单击“保存”,则插入用户在表格中填写的值。当用户单击“保存并提交”按钮时,它应该更新或插入用户在表单中填写的所有字
我是 Django 新手。我想知道 django 中的 ModelForm 和 Model 如何协同工作?我的意思是 ModelForm.save() 如何自动保存与之关联的模型?它如何从 reque
我有亲子关系: @Entity @Table(name = "user") public final class User { @Id @GeneratedValue(strategy
我是一名优秀的程序员,十分优秀!