2016-05-07 77 views
-1

我想在活動課一個TextView點擊開始片段活動,但我得到以下exception.I是新到Android,請help.This是我的代碼.ActivityNotFoundException:無法找到明確的活動類

Intent intent=new Intent(this,ThreeFragment.class); 
    startActivity(intent); 

並得到以下例外。

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.siluni.myapplication/com.example.siluni.myapplication.ThreeFragment}; have you declared this activity in your AndroidManifest.xml? 
     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1791) 
     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1513) 
     at android.app.Activity.startActivityForResult(Activity.java:3933) 
     at android.app.Activity.startActivityForResult(Activity.java:3881) 
     at android.app.Activity.startActivity(Activity.java:4204) 
     at android.app.Activity.startActivity(Activity.java:4172) 
     at com.example.siluni.myapplication.SheduleActivity.SaveShedule(SheduleActivity.java:178) 
     at com.example.siluni.myapplication.SheduleActivity$5.onClick(SheduleActivity.java:150) 
     at android.view.View.performClick(View.java:5076) 
     at android.view.View$PerformClick.run(View.java:20279) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5930) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200) 
+0

'ThreeFragment'實際上是一個'Activity'嗎?如果是這樣,你是否在你的堆棧跟蹤的第一行注意到了這個問題? - '你是否在你的AndroidManifest.xml中聲明瞭這個活動?' –

+0

不,我有4個選項卡,這些選項卡actvity是片段活動Tabdisplay活動包含manifest.xml文件中的全部4個tabs.so僅包含tabDisplayactvity –

+2

'Fragment'不是'活動'。你不用'startActivity()'加載'Fragment'。 –

回答

3

如果ThreeFragment延伸片段,那麼你應該這樣

FragmentManager fragmentManager = getFragmentManager(); 
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
Fragment fragment = new ThreeFragment(); 
fragmentTransaction.replace(R.id.fragment_container, fragment); 
fragmentTransaction.commit(); 

UPDATE初始化:

R.id.fragment_containerFrameLayout將包含您的片段。

在要初始化片段活動佈局的底部包含此

<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/fragment_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

如果ThreeFragment延伸AppCompatActivityActivity的在你的清單,你需要包括像這樣

<activity 
     android:name=".ThreeFragment" 
     android:label="@string/app_name"> 
</activity> 
+0

應該提到'R.id.fragment_container'應該是活動佈局的一部分 –

+0

我已經試過這個請告訴我R.id.fragment_container應該包含什麼佈局.ThreeFragment或我的活動佈局 –

+0

在我回答我提到的「將此包含在您想要初始化片段的活動佈局的底部」 – Max

相關問題