2015-11-11 149 views
-1

我想使用ViewFlipper,但我在setContentView(R.layout.activity_main);行发现此错误;java.lang.RuntimeException:无法启动活动

当我回到轨道时,当我仅添加第二个LinearLayout时,出现此错误。 我看了使用ViewFlipper的例子,我没有看到问题。

这里是XML文件:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin"> 

<ViewFlipper 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/viewFlipper"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 


     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Date Interval" 
       android:id="@+id/textView7" 
       android:layout_weight="1"/> 

      <EditText 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/editText6" 
       android:layout_weight="1" /> 

      <EditText 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/editText8" 
       android:layout_weight="1" /> 


     </LinearLayout> 

     <Button 
      android:layout_height="33dp" 
      android:layout_width="wrap_content" 
      android:text="Get Logs" 
      android:id="@+id/button6" 
      android:textSize="12sp" 
      android:onClick="getLogs" /> 
     <ScrollView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/scrollView"> 

      <TableLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/tableLayout" 
       android:stretchColumns="*"> 

      </TableLayout> 
     </ScrollView> 

     <Button 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="View Time Sheet" 
      android:id="@+id/button7" 
      android:layout_gravity="center_horizontal" 
      android:onClick="viewTimeSheet" /> 

    </LinearLayout> 

    <linearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <ScrollView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 

      <HorizontalScrollView 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent"> 

       <TableLayout 
        android:id="@+id/amortization" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <TableRow android:id="@+id/tableRow"> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Project Number/ \n Client Name" 
          android:id="@+id/textView11" 
          android:textStyle="bold" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Project Description" 
          android:id="@+id/textView19" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 1" 
          android:id="@+id/textView20" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 2" 
          android:id="@+id/textView21" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 3" 
          android:id="@+id/textView22" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 4" 
          android:id="@+id/textView23" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 5" 
          android:id="@+id/textView24" 
          android:textStyle="bold" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 6" 
          android:id="@+id/textView25" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 7" 
          android:id="@+id/textView26" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 8" 
          android:id="@+id/textView27" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 9" 
          android:id="@+id/textView28" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 10" 
          android:id="@+id/textView29" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 11" 
          android:id="@+id/textView30" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 12" 
          android:id="@+id/textView31" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 13" 
          android:id="@+id/textView32" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 14" 
          android:id="@+id/textView33" 
          android:textStyle="bold"/> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Day 15" 
          android:id="@+id/textView34" 
          android:textStyle="bold"/> 
         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" Total Hrs" 
          android:id="@+id/textView35" 
          android:textStyle="bold"/> 


        </TableRow> 
       </TableLayout> 
      </HorizontalScrollView> 
     </ScrollView> 
    </linearLayout> 

</ViewFlipper> 

</LinearLayout> 

这里的活动:

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.ViewFlipper; 

public class MainActivity extends AppCompatActivity { 

private ViewFlipper viewFlipper; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    //viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

public void viewTimeSheet(View view){ 
    viewFlipper.showNext(); 
} 
} 

以下是错误:

java.lang.RuntimeException: Unable to start activity  ComponentInfo{com.example.asamater.myapplication/com.example.asamater.myapplication.MainActivity}: android.view.InflateException: Binary XML file line #82: Binary XML file line #82: Error inflating class linearLayout 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
      at android.app.ActivityThread.-wrap11(ActivityThread.java) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:148) 
      at android.app.ActivityThread.main(ActivityThread.java:5417) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    Caused by: android.view.InflateException: Binary XML file line #82: Binary XML file line #82: Error inflating class linearLayout 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
      at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257) 
      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 
      at com.example.asamater.myapplication.MainActivity.onCreate(MainActivity.java:17) 
      at android.app.Activity.performCreate(Activity.java:6237) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5417) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    Caused by: android.view.InflateException: Binary XML file line #82: Error inflating class linearLayout 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 
      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
            at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257) 
            at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 
            at com.example.asamater.myapplication.MainActivity.onCreate(MainActivity.java:17) 
            at android.app.Activity.performCreate(Activity.java:6237) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5417) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.linearLayout" on path: DexPathList[[zip file "/data/app/com.example.asamater.myapplication-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.asamater.myapplication-1/lib/x86, /vendor/lib, /system/lib]] 
      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
      at android.view.LayoutInflater.createView(LayoutInflater.java:583) 
      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:677) 
      at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:68) 
      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
            at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 
            at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
            at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257) 
            at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 
            at com.example.asamater.myapplication.MainActivity.onCreate(MainActivity.java:17) 
            at android.app.Activity.performCreate(Activity.java:6237) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5417) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
    Suppressed: java.lang.ClassNotFoundException: android.view.linearLayout 
      at java.lang.Class.classForName(Native Method) 
      at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
      at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
      ... 29 more 
    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

回答

5

这里:

<linearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    ... 

</linearLayout> 

应该是:

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    ... 

</LinearLayout> 

(上盖)

注意,XML是区分大小写的。

+0

我不敢相信。我很愚蠢。 –

相关问题