android fragment 问题

brightmoon_2009 2016-05-23 04:05:29
android学习新手,之前调试个含有Fragment程序,手机运行时,显示运行停止。
下面为程序
MainActivity

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}//这个我没动

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.example.yan.demo2.MainActivity">
<fragment
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello world"/>
</LinearLayout>
</LinearLayout>

Myfragment

public class Myfragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// return super.onCreateView(inflater, container, savedInstanceState);
return inflater.inflate(R.layout.fragment_demo,container,false);
}
}

fragment_demo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="fragment"/>

</LinearLayout>
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightmoon_2009 2016-05-24
  • 打赏
  • 举报
回复
我换了一种方式,在acitivity_main.xml文件中,不直接声明Fragment,而是放一个线性布局,然后在MainActivity中,用6楼的方法替换。这样就能运行了
AS_MSDN 2016-05-24
  • 打赏
  • 举报
回复
activity_main.xml文件中的fragment需要写Myfragment 的全路径,就是com.XXXX.Myfragment
zhang106209 2016-05-24
  • 打赏
  • 举报
回复
在Mainactivity中加入 ContentFragment cFagment = new ContentFragment(); getFragmentManager().beginTransaction() .replace(R.id.contentFragment, cFagment).commit();
brightmoon_2009 2016-05-24
  • 打赏
  • 举报
回复
因为之前一个比较复杂的程序一直出错,所以设计这个简单的,看看能不能把界面显示出来,下面是log FATAL EXCEPTION: main Process: com.example.yan.demo2, PID: 16525 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yan.demo2/com.example.yan.demo2.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2462) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524) at android.app.ActivityThread.access$800(ActivityThread.java:167) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5546) 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:964) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759) Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:767) at android.view.LayoutInflater.rInflate(LayoutInflater.java:810) at android.view.LayoutInflater.inflate(LayoutInflater.java:508) at android.view.LayoutInflater.inflate(LayoutInflater.java:418) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.example.yan.demo2.MainActivity.onCreate(MainActivity.java:11) at android.app.Activity.performCreate(Activity.java:5977) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2415) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524)  at android.app.ActivityThread.access$800(ActivityThread.java:167)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419)  at android.os.Handler.dispatchMessage(Handler.java:111)  at android.os.Looper.loop(Looper.java:194)  at android.app.ActivityThread.main(ActivityThread.java:5546)  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:964)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)  Caused by: java.lang.IllegalArgumentException: Binary XML file line #8: Must specify unique android:id, android:tag, or have a parent with an id for com.example.yan.demo2.Myfragment at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2116) at android.app.Activity.onCreateView(Activity.java:5326) at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:34) at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:737) at android.view.LayoutInflater.rInflate(LayoutInflater.java:810)  at android.view.LayoutInflater.inflate(LayoutInflater.java:508)  at android.view.LayoutInflater.inflate(LayoutInflater.java:418)  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  at com.example.yan.demo2.MainActivity.onCreate(MainActivity.java:11)  at android.app.Activity.performCreate(Activity.java:5977)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2415)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524)  at android.app.ActivityThread.access$800(ActivityThread.java:167)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419)  at android.os.Handler.dispatchMessage(Handler.java:111)  at android.os.Looper.loop(Looper.java:194)  at android.app.ActivityThread.main(ActivityThread.java:5546)  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:964)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)  我连的真机调试
怀君 2016-05-23
  • 打赏
  • 举报
回复
你MainActivity,什么都不写。不报错才怪呢。
qq_26763799 2016-05-23
  • 打赏
  • 举报
回复
贴报错的log啊
ys527663232 2016-05-23
  • 打赏
  • 举报
回复
爆的啥错,你到是贴下Log 啊
brightmoon_2009 2016-05-23
  • 打赏
  • 举报
回复
自顶下,大虾们帮忙看看

80,358

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧