【问题标题】:When i run my Fragment project, eclipse shows errors. I don't know how to fix it当我运行我的 Fragment 项目时,eclipse 显示错误。我不知道如何解决它
【发布时间】:2015-08-03 15:35:34
【问题描述】:

这是我尝试仔细遵循的说明:

http://examples.javacodegeeks.com/android/core/app/fragment/android-fragments-example/

这是 Logcat 中出现的第一个错误:

E/MoreInfoHPW_ViewGroup(21404):父视图不是 TextView

E/AndroidRuntime(21404): 致命异常: main

E/AndroidRuntime(21404):进程:com.example.fragmentstest,PID:21404

E/AndroidRuntime(21404):java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.fragmentstest/com.example.fragmentstest.MainActivity}:android.view.InflateException:二进制 XML 文件第 20 行:膨胀类片段时出错

这是我的 MainActivity 和 activity_main 代码:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
public void selectFrag(View view){
    Fragment fr;
    if (view == findViewById(R.id.button2)){
        fr = new FragmentTwo();
    } else {
        fr = new FragmentOne();
    }
    FragmentManager fm = getFragmentManager();
    FragmentTransaction fragmentTransaction = fm.beginTransaction();
    fragmentTransaction.replace(R.id.fragment_place, fr);
    fragmentTransaction.commit();


}  




<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Fragment No.1"
    android:onClick="selectFrag" />

<Button
    android:id="@+id/button2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Fragment No.2" 
    android:onClick="selectFrag"/>

<fragment 
    android:name="com.example.fragmentstest.FragmentOne"
    android:id="@+id/fragment_place"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>"

</LinearLayout>

【问题讨论】:

  • 你的包里有这个片段吗? com.example.fragmentstest.FragmentOne 应该与包中 Fragment 的类名完全匹配
  • 嗯应该是
  • 这不是问题。我注意到了!
  • 嗯,你的 xml 中也有错误。如果您想轻松获得帮助,请尝试发布一些可以理解的内容。您的 xml 中有一个明显的错误。
  • 请尝试重新清理并构建您的项目。这可能会解决它

标签: android


【解决方案1】:

我终于找到了错误原因。这是一个逻辑错误(很难找到)。 在 FragmentOne.java 和 FragmentTwo.java 中,我返回了 activity_main.xml 而不是 fragment_one.xml 和 fragment_two.xml 作为源布局。 抱歉,如果问题不在于我在问题正文中提供的信息中。但至少现在我知道的更多!

这里是示例代码:

   public class FragmentTwo extends Fragment {
   @Override
   public View onCreateView(LayoutInflater inflater,
   ViewGroup container, Bundle savedInstanceState) {

   //I had to use fragment_one instead of activity_main.
   //Such simple mistake took about two days of my time.

  return inflater.inflate(
          R.layout.activity_main, container, false);
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多