Question

I'm creating an app where when the user selects a check the second activity is called. However, when the second activity is called my app crashes and the log cat shows an error on my paycheckactivity oncreate method.

First Activity

public class TableListActivity extends Activity {
private ListView mListView;
private TableListAdapter mAdapter;

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

    mListView = (ListView)findViewById(R.id.listView);
    mAdapter = new TableListAdapter(this, DataStore.CHECKS);
    mListView.setAdapter(mAdapter);
    mListView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            Intent intent = new Intent (TableListActivity.this, PayCheckActivity.class);
            intent.putExtra(PayCheckActivity.Extra_check, arg2);
            startActivity(intent);
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.table_list, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        if (id == R.id.action_refresh) {
            Toast.makeText(this, "Refresh", Toast.LENGTH_SHORT).show();
        return true;
        }
        return super.onOptionsItemSelected(item);}}

Second Activity

public class PayCheckActivity extends Activity {
    public static final String Extra_check= "abc";

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.paycheck);
    }
}

Logcat

03-06 21:51:11.275: D/dalvikvm(1108): GC_FOR_ALLOC freed 36K, 4% free 3135K/3244K, paused 50ms, total 50ms
03-06 21:51:11.285: I/dalvikvm-heap(1108): Grow heap (frag case) to 4.200MB for 1127536-byte allocation
03-06 21:51:11.325: D/dalvikvm(1108): GC_FOR_ALLOC freed 1K, 3% free 4234K/4348K, paused 36ms, total 36ms
03-06 21:51:11.695: D/(1108): HostConnection::get() New Host Connection established 0xb7fc9f38, tid 1108
03-06 21:51:11.775: W/EGL_emulation(1108): eglSurfaceAttrib not implemented
03-06 21:51:11.805: D/OpenGLRenderer(1108): Enabling debug mode 0
03-06 21:51:14.175: D/AndroidRuntime(1108): Shutting down VM
03-06 21:51:14.175: W/dalvikvm(1108): threadid=1: thread exiting with uncaught exception (group=0xb1a5fba8)
03-06 21:51:14.225: E/AndroidRuntime(1108): FATAL EXCEPTION: main
03-06 21:51:14.225: E/AndroidRuntime(1108): Process: edu.udallas.tableservice, PID: 1108
03-06 21:51:14.225: E/AndroidRuntime(1108): java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.udallas.tableservice/edu.tableservice.PayCheckActivity}: android.view.InflateException: Binary XML file line #15: Error inflating class br
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.os.Handler.dispatchMessage(Handler.java:102)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.os.Looper.loop(Looper.java:136)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.ActivityThread.main(ActivityThread.java:5017)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at java.lang.reflect.Method.invokeNative(Native Method)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at java.lang.reflect.Method.invoke(Method.java:515)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at dalvik.system.NativeStart.main(Native Method)
03-06 21:51:14.225: E/AndroidRuntime(1108): Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class br
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.Activity.setContentView(Activity.java:1929)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at edu.tableservice.PayCheckActivity.onCreate(PayCheckActivity.java:22)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.Activity.performCreate(Activity.java:5231)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
03-06 21:51:14.225: E/AndroidRuntime(1108):     ... 11 more
03-06 21:51:14.225: E/AndroidRuntime(1108): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.br" on path: DexPathList[[zip file "/data/app/edu.udallas.tableservice-1.apk"],nativeLibraryDirectories=[/data/app-lib/edu.udallas.tableservice-1, /system/lib]]
03-06 21:51:14.225: E/AndroidRuntime(1108):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.createView(LayoutInflater.java:559)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:652)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
03-06 21:51:14.225: E/AndroidRuntime(1108):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
03-06 21:51:14.225: E/AndroidRuntime(1108):     ... 21 more
03-06 21:51:17.095: I/Process(1108): Sending signal. PID: 1108 SIG: 9
03-06 22:03:15.835: D/dalvikvm(1134): GC_FOR_ALLOC freed 39K, 4% free 3135K/3248K, paused 89ms, total 91ms
03-06 22:03:15.845: I/dalvikvm-heap(1134): Grow heap (frag case) to 4.200MB for 1127536-byte allocation
03-06 22:03:15.885: D/dalvikvm(1134): GC_FOR_ALLOC freed 2K, 3% free 4233K/4352K, paused 35ms, total 35ms
03-06 22:03:16.215: D/(1134): HostConnection::get() New Host Connection established 0xb7edd508, tid 1134
03-06 22:03:16.315: W/EGL_emulation(1134): eglSurfaceAttrib not implemented
03-06 22:03:16.335: D/OpenGLRenderer(1134): Enabling debug mode 0
03-06 22:03:17.795: D/AndroidRuntime(1134): Shutting down VM
03-06 22:03:17.795: W/dalvikvm(1134): threadid=1: thread exiting with uncaught exception (group=0xb1a5fba8)
03-06 22:03:17.845: E/AndroidRuntime(1134): FATAL EXCEPTION: main
03-06 22:03:17.845: E/AndroidRuntime(1134): Process: edu.udallas.tableservice, PID: 1134
03-06 22:03:17.845: E/AndroidRuntime(1134): java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.udallas.tableservice/edu.tableservice.PayCheckActivity}: android.view.InflateException: Binary XML file line #15: Error inflating class br
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.os.Handler.dispatchMessage(Handler.java:102)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.os.Looper.loop(Looper.java:136)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.ActivityThread.main(ActivityThread.java:5017)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at java.lang.reflect.Method.invokeNative(Native Method)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at java.lang.reflect.Method.invoke(Method.java:515)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at dalvik.system.NativeStart.main(Native Method)
03-06 22:03:17.845: E/AndroidRuntime(1134): Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class br
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.Activity.setContentView(Activity.java:1929)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at edu.tableservice.PayCheckActivity.onCreate(PayCheckActivity.java:22)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.Activity.performCreate(Activity.java:5231)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
03-06 22:03:17.845: E/AndroidRuntime(1134):     ... 11 more
03-06 22:03:17.845: E/AndroidRuntime(1134): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.br" on path: DexPathList[[zip file "/data/app/edu.udallas.tableservice-1.apk"],nativeLibraryDirectories=[/data/app-lib/edu.udallas.tableservice-1, /system/lib]]
03-06 22:03:17.845: E/AndroidRuntime(1134):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.createView(LayoutInflater.java:559)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:652)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
03-06 22:03:17.845: E/AndroidRuntime(1134):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
03-06 22:03:17.845: E/AndroidRuntime(1134):     ... 21 more
Était-ce utile?

La solution

Here, you are getting two Exceptions...

#android.view.InflateException : Its causing when you are trying to inflate your view/XML. Since you are using CustomAdapter, so you are inflating your list item's XML inside the onCreateView() method and that XML causing the problem...the LogCat indicating it directly as...

Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class br

#java.lang.ClassNotFoundException : Its causing since you are trying to put HTML tag <br></br> inside your XML which is not supported by Android XML. the LogCat clearly indicating that you are using that <br> tag by this message...

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.br"

there has no view in android named br...so remove it from XML...your problem will be solved.

Autres conseils

Mention the activity name in AndroidManifest.xml File under "application" tag, like mention below:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.TableListActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
     <activity
        android:name="com.example.PayCheckActivity"
        android:label="@string/app_name" >
        </activity>

</application>

if still it shows error than please tell the error.

Looks like you have copy pasted (like I do too:)) the onCreate for the PayCheckActivity and hence you are missing the @Override keyword there.

This onCreate() is no more the Activity overridden method and hence the error.

Just do this,

public class PayCheckActivity extends Activity{
    public static final String Extra_check= "abc";

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

Hope this helps. :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top