My app crashes upon clicking the button that calls getdeets. I'm not sure why.
I want the data to be added and then saved upon button click and then for the data to remain in the EditText for eternity until it's changed within the same EditText to a different value. Then that new value will remain for eternity.
logcat:
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
You'll notice the TextViews that are declared at the top. I tried to set those to the fetched data, but it also crashes the app. Here's the Activity's code:
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);
}
}
0 comments:
Post a Comment