My app, built using Android Studio, was working when all of a sudden it started giving me the following errors:
03-07 02:07:04.665 14549-14549/uomini.com.theleaguedemo E/AndroidRuntime: FATAL EXCEPTION: main
Process: uomini.com.theleaguedemo, PID: 14549
java.lang.RuntimeException: Unable to start activity ComponentInfo{uomini.com.theleaguedemo/uomini.com.theleaguedemo.SetupRoutine}: android.view.InflateException: Binary XML file line #63: Binary XML file line #63: Error inflating class uomini.com.theleaguedemo.PerformButton
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
at android.app.ActivityThread.access$1100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: android.view.InflateException: Binary XML file line #63: Binary XML file line #63: Error inflating class uomini.com.theleaguedemo.PerformButton
at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)
at android.app.Activity.setContentView(Activity.java:2387)
at uomini.com.theleaguedemo.SetupRoutine.onCreate(SetupRoutine.java:75)
at android.app.Activity.performCreate(Activity.java:6876)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
at android.app.ActivityThread.access$1100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: android.view.InflateException: Binary XML file line #63: Error inflating class uomini.com.theleaguedemo.PerformButton
at android.view.LayoutInflater.createView(LayoutInflater.java:657)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)
at android.app.Activity.setContentView(Activity.java:2387)
at uomini.com.theleaguedemo.SetupRoutine.onCreate(SetupRoutine.java:75)
at android.app.Activity.performCreate(Activity.java:6876)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
at android.app.ActivityThread.access$1100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:631)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)
at android.app.Activity.setContentView(Activity.java:2387)
at uomini.com.theleaguedemo.SetupRoutine.onCreate(SetupRoutine.java:75)
at android.app.Activity.performCreate(Activity.java:6876)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
at android.app.ActivityThread.access$1100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NumberFormatException: Invalid int: "2 Time(s) a day%2 Time(s) a Day%1 Time(s) a Day%1 Time(s) a Day%2 Time(s) a day%"
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parse(Integer.java:410)
at java.lang.Integer.parseInt(Integer.java:367)
at java.lang.Integer.parseInt(Integer.java:334)
at uomini.com.theleaguedemo.Utilities.getRoutineData(Utilities.java:28)
at uomini.com.theleaguedemo.PerformButton.<init>(PerformButton.java:43)
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:631)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:855)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)
at android.app.Activity.setContentView(Activity.java:2387)
at uomini.com.theleaguedemo.SetupRoutine.onCreate(SetupRoutine.java:75)
at android.app.Activity.performCreate(Activity.java:6876)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
at android.app.ActivityThread.access$1100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
First it's complaining about line #63 in my layout XML:
android:layout_below="@+id/img_layout"
android:layout_centerHorizontal="true">
<TextView
android:id="@+id/horiz1"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#a0a0a0" />
<LinearLayout
android:id="@+id/button_layout"
android:orientation="horizontal"
android:layout_below="@id/horiz1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<uomini.com.theleaguedemo.PerformButton (This is at line #63)
android:id="@+id/perform_prompt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/perform"/>
<uomini.com.theleaguedemo.HoldButton
android:id="@+id/hold_prompt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hold"/>
<uomini.com.theleaguedemo.RepeatButton
PerformButton is a custom button I defined:
public class PerformButton extends AppCompatButton {
String code, routine_position;
Context mContext;
SharedPreferences settings;
public PerformButton(Context context, AttributeSet attrs) {
super(context, attrs);
this.mContext = context;
routine_position = Utilities.getPosition();
code = Utilities.getCode();
// TODO Auto-generated constructor stub
Button perform_prompt = (Button) findViewById(R.id.perform_prompt);
settings = mContext.getSharedPreferences(code, Context.MODE_PRIVATE);
String dataVal = getRoutineData(mContext, settings.getString(Constants.PERFORM, "0"), routine_position);
// String dataVal = Utilities.getRoutineData(mContext, settings.getString(Constants.PERFORM, "0"), routine_position);
if (dataVal.equals("null")) {
perform_prompt.setVisibility(View.GONE);
} else {
perform_prompt.setText(perform_prompt.getText() + "\n" + dataVal);
}
perform_prompt.setTextColor(Color.BLUE);
perform_prompt.setTextSize(9.0f);
perform_prompt.setOnClickListener(new View.OnClickListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
settings = mContext.getSharedPreferences(code, Context.MODE_PRIVATE);
Intent intent = new Intent(mContext, PerformDialog.class);
intent.putExtra(Constants.CODE, code);
intent.putExtra(Constants.PERFORM, settings.getString(Constants.PERFORM, "1"));
intent.putExtra(Constants.ROUTINE_POSITION, routine_position);
mContext.startActivity(intent);
}
});
}
public String getRoutineData(Context context, String position, String workout_tag) {
SharedPreferences settings = context.getSharedPreferences(Utilities.getCode(), Context.MODE_PRIVATE);
String routine_data = settings.getString(workout_tag, "0");
StringTokenizer st = new StringTokenizer(routine_data, "%");
int arraySz = st.countTokens();
for (int i = 0; i < arraySz; i++) {
String tmp = st.nextToken();
if (i == Integer.parseInt(position)) {
if (tmp.indexOf(" ") != -1) return tmp.substring(0, tmp.indexOf(" "));
return tmp;
}
}
return null;
}
}
Finally, it's complaining about a NumberFormatException:
Caused by: java.lang.NumberFormatException: Invalid int: "2 Time(s) a day%2 Time(s) a Day%1 Time(s) a Day%1 Time(s) a Day%2 Time(s) a day%"
How can I disable this error so I can load my app and debug it?