2017-11-05 31 views
0

Android 에뮬레이터에서 내 앱을 실행하려고 할 때마다 내 애플리케이션이 표시되지 않습니다. 나는 이것을 얻고있다 error 그러나 나는 그것을 해독하는 데 어려움을 겪고있다. 에뮬레이터에서 내 앱을 볼 수 있도록 어떻게 수정하면 되나요? 코드 줄이 엉망이되는 것과 관련이 있다고 생각하지만 어디에 위치 할 수는 없습니다.내 응용 프로그램이 에뮬레이터에서 작동하지 않는 이유는 무엇입니까?

여기 MainActivity.java의 다음 error

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout 
    android:id="@+id/activity_main" 
    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" 
    tools:context=".MainActivity"> 

    <android.support.v7.widget.Toolbar 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/toolbar" 
     android:background="@color/colorPrimary" 
     android:minHeight="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     > 


     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="SlidingTabsBar" 
      android:textSize="20dp"/> 


    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.TabLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/tabLayout" 
     android:background="@color/colorPrimary" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     > 
    </android.support.design.widget.TabLayout> 

    <android.support.v4.view.ViewPager 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/pager" 
     > 
    </android.support.v4.view.ViewPager> 

</LinearLayout> 

은 다음과 같습니다 :

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentStatePagerAdapter; 

public class PagerAdapter extends FragmentStatePagerAdapter { 

    int mNoOfTabs; 

    public PagerAdapter(FragmentManager fm, int NumberOfTabs) { 
     super(fm); 
     this.mNoOfTabs = NumberOfTabs; // set global number of tabs to local number of tabs 
    } 

    @Override 
    public Fragment getItem(int position) { 
     switch(position) { 
      case 0: 
       Place place = new Place(); 
       return place; 
      case 1: 
       Profile profile = new Profile(); 
       return profile; 
      case 2: 
       Take take = new Take(); 
       return take; 
      default: 
       return null; 
     } 
    } 

    @Override 
    public int getCount() { 
     return 0; 
    } 
} 

여기 activity_main.xml입니다 :

import android.net.Uri; 
import android.support.design.widget.TabLayout; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 

public class MainActivity extends AppCompatActivity implements Place.OnFragmentInteractionListener, Profile.OnFragmentInteractionListener, Take.OnFragmentInteractionListener { 

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

     TabLayout tabLayout = (TabLayout)findViewById(R.id.tabLayout); 
     tabLayout.addTab(tabLayout.newTab().setText("Place")); 
     tabLayout.addTab(tabLayout.newTab().setText("Profile")); 
     tabLayout.addTab(tabLayout.newTab().setText("Take")); 

     final ViewPager viewPager = (ViewPager)findViewById(R.id.pager); 
     final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(),tabLayout.getTabCount()); 
     viewPager.setAdapter(adapter); 
     viewPager.setOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 

     tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 

      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 

      } 
     }); 
    } 

    @Override 
    public void onFragmentInteraction(Uri uri) { 

    } 
} 

여기 PagerAdapter.java

레이아웃 XML에서
11/05 10:56:42: Launching app 
$ adb shell am start -n "com.navi.navi/com.navi.navi.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 
Client not ready yet..Waiting for process to come online 
Connected to process 4085 on device emulator-5554 
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page. 
I/InstantRun: starting instant run server: is main process 
D/AndroidRuntime: Shutting down VM 
E/AndroidRuntime: FATAL EXCEPTION: main 
        Process: com.navi.navi, PID: 4085 
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.navi.navi/com.navi.navi.MainActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.v7.widget.Toolbar 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
         at android.app.ActivityThread.-wrap11(Unknown Source:0) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
         at android.os.Handler.dispatchMessage(Handler.java:105) 
         at android.os.Looper.loop(Looper.java:164) 
         at android.app.ActivityThread.main(ActivityThread.java:6541) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
        Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.v7.widget.Toolbar 
        Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.support.v7.widget.Toolbar 
        Caused by: java.lang.reflect.InvocationTargetException 
         at java.lang.reflect.Constructor.newInstance0(Native Method) 
         at java.lang.reflect.Constructor.newInstance(Constructor.java:334) 
         at android.view.LayoutInflater.createView(LayoutInflater.java:647) 
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) 
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
         at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 
         at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
         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.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
         at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
         at com.navi.navi.MainActivity.onCreate(MainActivity.java:15) 
         at android.app.Activity.performCreate(Activity.java:6975) 
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213) 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
         at android.app.ActivityThread.-wrap11(Unknown Source:0) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
         at android.os.Handler.dispatchMessage(Handler.java:105) 
         at android.os.Looper.loop(Looper.java:164) 
         at android.app.ActivityThread.main(ActivityThread.java:6541) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
        Caused by: java.lang.UnsupportedOperationException: Can't convert value at index 37 to dimension: type=0x1 
         at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:730) 
         at android.view.View.<init>(View.java:4998) 
         at android.view.ViewGroup.<init>(ViewGroup.java:597) 
         at android.view.ViewGroup.<init>(ViewGroup.java:593) 
         at android.support.v7.widget.Toolbar.<init>(Toolbar.java:231) 
         at android.support.v7.widget.Toolbar.<init>(Toolbar.java:227) 
         at java.lang.reflect.Constructor.newInstance0(Native Method)  
         at java.lang.reflect.Constructor.newInstance(Constructor.java:334)  
         at android.view.LayoutInflater.createView(LayoutInflater.java:647)  
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)  
         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)  
         at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)  
         at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)  
         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.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)  
         at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)  
         at com.navi.navi.MainActivity.onCreate(MainActivity.java:15)  
         at android.app.Activity.performCreate(Activity.java:6975)  
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)  
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)  
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)  
         at android.app.ActivityThread.-wrap11(Unknown Source:0)  
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)  
         at android.os.Handler.dispatchMessage(Handler.java:105)  
         at android.os.Looper.loop(Looper.java:164)  
         at android.app.ActivityThread.main(ActivityThread.java:6541)  
         at java.lang.reflect.Method.invoke(Native Method)  
         at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)  
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)  
Application terminated. 

답변

0

에게 Toolbar 요소 :

android:minHeight="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 

스타일 참조 치수로 변환 할 수있는 일이 내가 왼쪽 따라서 예외

Caused by: java.lang.UnsupportedOperationException: Can't convert value at index 37 to dimension: type=0x1 
at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:730) 
... 
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:231) 
... 
at com.navi.navi.MainActivity.onCreate(MainActivity.java:15) 

아니다 stacktrace의 가장 중요한 부분.

스타일 리소스를 참조하려는 경우 style 속성을 사용하십시오. android:minHeight을 설정하려는 경우 40dp 또는 @dimen/something 참조와 같은 2 진 값을 사용하십시오.

+0

정말 고마워요! 그런 부주의 한 실수! : D 나는 마침내 나아갈 수있다! – obsolutemal