2014-11-17 3 views
0

현재 여러 조각을 사용하는 간단한 Android 앱을 작성 중입니다. 내 setContentView() 메소드를 가리키는 위의 메시지로 런타임 오류가 계속 발생합니다. 나는 확실하지 않다RuntimeException : 활동을 시작할 수 없습니다. componentInfo 및 InflateException : setcontentview()에서 클래스 파편 오류가 발생했습니다.

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.view.Menu; 


public class FragmentExampleActivity extends FragmentActivity implements ToolbarFragment.ToolbarListener { 

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

} 

@Override 
public void onButtonClick(int fontsize, String text) 
{ 
    //instantiates the new fragments as well as start editing the text 
    TextFragment textFragment = (TextFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.text_fragment); 
    textFragment.changeTextProperties(fontsize, text); 

    OppositeFragment oppositeFragment=(OppositeFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.opposite_fragment); 
    oppositeFragment.changeTextProperties(fontsize, text);  
} 

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

}

이유지만 된 setContentView에 로그 캣 포인트() : 다음은 코드입니다. 또한이 주요 활동과 함께 진행되는 .xml 파일이 있습니다. 나는 그것이 도움이 될 것인지 아닌지 잘 모르겠습니다.

<RelativeLayout 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" 
    tools:context=".FragmentExampleActivity" > 

    <fragment 
     android:id="@+id/toolbar_fragment" 
     android:name="meng.jerry.fragmentexample.ToolbarFragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     tools:layout="@layout/toolbar_fragment"/> 

    <fragment 
     android:id="@+id/text_fragment" 
     android:name="meng.jerry.fragmentexample.TextFragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/toolbar_fragment" 
     android:layout_marginTop="40dp" 
     tools:layout="@layout/text_fragment" /> 

    <fragment 
     android:id="@+id/opposite_fragment" 
     android:name="meng.jerry.fragmentexample.OppositeFragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/text_fragment" 
     android:layout_marginTop="16dp" 
     tools:layout="@layout/opposite_fragment" /> 

</RelativeLayout> 

나는 logcat을 여기에 포함시키는 방법을 모르기 때문에 사과드립니다. 다른 것이 필요한지 저에게 물어보십시오. 나는 그들이 문제의 원인이라고 생각하지 않기 때문에 모든 파일을 포함시키지 않았으며 너무 많을 수도 있습니다. 누군가가 나를 도울 수 있기를 바랍니다.

11-16 20:27:04.601: E/AndroidRuntime(1309): FATAL EXCEPTION: main 
11-16 20:27:04.601: E/AndroidRuntime(1309): Process: meng.jerry.fragmentexample, PID: 1309 
11-16 20:27:04.601: E/AndroidRuntime(1309): java.lang.RuntimeException: Unable to start activity ComponentInfo{meng.jerry.fragmentexample/meng.jerry.fragmentexample.FragmentExampleActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.ActivityThread.access$800(ActivityThread.java:135) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.os.Handler.dispatchMessage(Handler.java:102) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.os.Looper.loop(Looper.java:136) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at java.lang.reflect.Method.invoke(Method.java:515) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at dalvik.system.NativeStart.main(Native Method) 
11-16 20:27:04.601: E/AndroidRuntime(1309): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.Activity.setContentView(Activity.java:1929) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at meng.jerry.fragmentexample.FragmentExampleActivity.onCreate(FragmentExampleActivity.java:19) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.Activity.performCreate(Activity.java:5231) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  ... 11 more 
11-16 20:27:04.601: E/AndroidRuntime(1309): Caused by: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.EditText 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at meng.jerry.fragmentexample.ToolbarFragment.onCreateView(ToolbarFragment.java:50) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1504) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:915) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1099) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1201) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:292) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
11-16 20:27:04.601: E/AndroidRuntime(1309):  ... 21 more 
+0

"logcat을 여기에 포함시키는 방법을 모르기 때문에 사과드립니다."- 질문에 복사하여 붙여 넣기 : https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can -i-solve-this 질문에 "편집"링크가있어서이 정보를 추가 할 수 있습니다. – CommonsWare

+0

"다른 것이 필요하면 저에게 물어보십시오." LogCat. – FWeigl

+0

답장을 보내 주셔서 감사합니다. – JeryBeary

답변

1
Caused by: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.EditText 

이것은 중요한 부분입니다. Logcat은 처음에는 읽기가 어려울 수 있지만 거의 항상 잘못된 것을 알려줍니다.

E/AndroidRuntime(1309): at meng.jerry.fragmentexample.ToolbarFragment.onCreateView(ToolbarFragment.java:50) 

오류가 귀하의 활동에 있지만 ToolbarFragment에없는을, 당신은 EditTextButton을 할당 아마 혼합 뭔가하려는 : 이런 곳

다음 줄은 심지어 당신을 알려줍니다 모양이 보이는 선

EditText someEditText = (Button) view.findViewByid(R.id.button1); 

줄 50 @ 해당 툴바 조각.

+1

또한 Eclipse를 사용하는 경우 주 메뉴에서 프로젝트 정리 (프로젝트> 정리)를 시도하십시오. 때로는 Eclipse가 혼란스러워지고 프로젝트를 정리하면 이런 종류의 자원 문제가 해결됩니다. – CommonsWare

+0

좋습니다. 고마워요. 너는 정말로 빠르고 도움이되었다. 그 오류가 분류 된 후에, 나는 새로운 것들로 끝났지 만 나는 logcat을 더 조심스럽게보고 그것을 스스로 찾으려고 노력할 것이다. – JeryBeary