我是Android应用程序的新手,所以我希望我能在这里找到一些帮助.我已经在这里搜索了我的问题并找到了一些东西,但这不起作用.
我想将一个片段添加到FrameLayout但它不起作用.我的目标是创建一个始终存在的框架(/ Framework?),用户可以与它进行交互,并在特定的"窗口"框架内部我要显示页面/片段,总共五个,并且能够切换任何时候的页面/片段,所以我有一个始终存在的框架,并在这个动态变化的页面内.但是现在我被困在一开始就向这个Frame添加了一个简单的片段(已经开始工作了.)
这是我希望的所有相关代码:错误发生在MainActivity.java(getSupportFragmentManager().beginTransaction().add(R.id.mainFrame,homeFragment).commit();),它告诉我:
错误:(25,55)错误:没有为add(int,HomeFragment)方法找到合适的方法FragmentTransaction.add(Fragment,String)不适用(参数不匹配; int不能转换为Fragment)方法FragmentTransaction.add(int, Fragment)不适用(参数不匹配; HomeFragment无法转换为Fragment)
我已经尝试将homeFragment转换为Fragment,但这不起作用.
MainActivity.java
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends FragmentActivity
{
FragmentTransaction fragmentTransaction;
HomeFragment homeFragment;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
homeFragment = new HomeFragment();
**getSupportFragmentManager().beginTransaction().add(R.id.mainFrame, homeFragment).commit();**
}
Run Code Online (Sandbox Code Playgroud)
activity_main.xml中
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="MergeRootFrame" >
<FrameLayout
android:id = "@+id/mainFrame"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:layout_marginBottom = "@dimen/bottom_Main_Tabs">
</FrameLayout>
[...]
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
fragment_home.xml
<FrameLayout 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.HomeFragment"> // it is not …Run Code Online (Sandbox Code Playgroud)