Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 获取要在EditText应用程序中显示的字符串_Android_Android Edittext_Textview_Sharedpreferences - Fatal编程技术网

Android 获取要在EditText应用程序中显示的字符串

Android 获取要在EditText应用程序中显示的字符串,android,android-edittext,textview,sharedpreferences,Android,Android Edittext,Textview,Sharedpreferences,我的应用程序在单击调用getdeets的按钮时崩溃。我不知道为什么 我希望在单击按钮时添加数据并保存,然后数据将永久保留在EditText中,直到在同一EditText中更改为不同的值。那么,新的价值观将永存 日志: 09-01 04:59:06.890: W/dalvikvm(1710): threadid=1: thread exiting with uncaught exception (group=0x41465700) 09-01 04:59:06.930: E/And

我的应用程序在单击调用getdeets的按钮时崩溃。我不知道为什么

我希望在单击按钮时添加数据并保存,然后数据将永久保留在EditText中,直到在同一EditText中更改为不同的值。那么,新的价值观将永存

日志:

    09-01 04:59:06.890: W/dalvikvm(1710): threadid=1: thread exiting with uncaught exception (group=0x41465700)
    09-01 04:59:06.930: E/AndroidRuntime(1710): FATAL EXCEPTION: main
    09-01 04:59:06.930: E/AndroidRuntime(1710): java.lang.IllegalStateException: Could not execute method of the activity
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.view.View$1.onClick(View.java:3633)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.view.View.performClick(View.java:4240)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.view.View$PerformClick.run(View.java:17721)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.os.Handler.handleCallback(Handler.java:730)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.os.Handler.dispatchMessage(Handler.java:92)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.os.Looper.loop(Looper.java:137)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.app.ActivityThread.main(ActivityThread.java:5103)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at java.lang.reflect.Method.invokeNative(Native Method)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at java.lang.reflect.Method.invoke(Method.java:525)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at dalvik.system.NativeStart.main(Native Method)
    09-01 04:59:06.930: E/AndroidRuntime(1710): Caused by: java.lang.reflect.InvocationTargetException
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at java.lang.reflect.Method.invokeNative(Native Method)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at java.lang.reflect.Method.invoke(Method.java:525)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at android.view.View$1.onClick(View.java:3628)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     ... 11 more
    09-01 04:59:06.930: E/AndroidRuntime(1710): Caused by: java.lang.NullPointerException
    09-01 04:59:06.930: E/AndroidRuntime(1710):     at com.mikitz.rogsimple.ArmorStatsSP.getdeets(ArmorStatsSP.java:65)
    09-01 04:59:06.930: E/AndroidRuntime(1710):     ... 14 more
您会注意到顶部声明的文本视图。我试图将这些设置为获取的数据,但这也会使应用程序崩溃。 以下是活动的代码:

    package com.mikitz.rogsimple;

    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;

    public class ArmorStatsSP extends Activity {

EditText armorhealthchest, healthchest, abvchest;
TextView ChestAH, ChestH, ChestABV;
EditText armorhealthhead, healthheaad, abvhead;
EditText armorhealthrightarm, healthrightarm, abvrightarm; 
EditText armorhealthleftarm, healthleftarm, abvleftarm; 
EditText armorhealthrightleg, healthrightleg, abvrightleg; 
EditText armorhealthleftleg, healthleftleg, abvleftleg;
SharedPreferences pref;
String getAHChest, getHChest, getABVChest;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.armor_stats);

    armorhealthchest = (EditText) findViewById(R.id.armorhealthchest);
    healthchest = (EditText) findViewById(R.id.healthchest);
    abvchest = (EditText) findViewById(R.id.abvchest);
}       

public void onBackPressed() 
{
    SharedPreferences sharedPreferences = getSharedPreferences("Armor_Stats", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor=sharedPreferences.edit();           
            editor.putString("armorhealthchest", armorhealthchest.getText().toString());
            editor.putString("healthchest", healthchest.getText().toString());
            editor.putString("abvchest", abvchest.getText().toString());
            editor.commit();

    Toast.makeText(this, "GREAT SUCCESS!!!!", Toast.LENGTH_LONG).show();

    Intent intent = new Intent (this, MainActivity.class);
        startActivity(intent);

}

public void save (View view)
{
    SharedPreferences sharedPreferences = getSharedPreferences("Armor_Stats", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor=sharedPreferences.edit();           
            editor.putString("armorhealthchest", armorhealthchest.getText().toString());
            editor.putString("healthchest", healthchest.getText().toString());
            editor.putString("abvchest", abvchest.getText().toString());
            editor.commit();

    Toast.makeText(this, "GREAT SUCCESS!!!!", Toast.LENGTH_LONG).show();
}

public void getdeets (View view)
{
    getAHChest = pref.getString("armorhealthchest", "");
    getHChest = pref.getString("healthchest", "");
    getABVChest = pref.getString("abvchest", "");
    armorhealthchest.setText(getAHChest);
    healthchest.setText(getHChest);
    abvchest.setText(getABVChest);

}

}

似乎在
getdeets
方法
pref
中为空,因此在
onCreate
方法中将其初始化为

pref = getSharedPreferences("Armor_Stats", Context.MODE_PRIVATE);

行ArmorStatsSP.java:65是?您在哪里初始化了SharedReference“pref”?这就是它显示空指针的原因。
super.onBackPressed()丢失。。!并且
pref
为空