首先,我在这里阅读所有内容。 https://developer.android.com/guide/components/fragments.html
我有一个活动,我想水平划分屏幕并添加2个片段。我知道如何在XML上添加片段,但我不想这样做。我想在Java上添加它们。
所以问题是FragmentManager无法工作,除非我的活动扩展了Fragment。我应该在活动上这样做,还是应该在其中一个片段上添加片段事务方法?
如果我将我的活动扩展到Fragment,它是否也会变成片段?
如果我将fragmentmanager和fragmenttransaction放在其中一个片段上,我如何才能与活动建立连接?
这是我希望我的片段显示在
上的活动import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class ConversionActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversion);
NumpadFragment fragment = new NumpadFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.numpad_layout,fragment);
fragmentTransaction.commit();
}
}
这是片段之一
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class NumpadFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_numpad,container,false);
}
}
答案 0 :(得分:1)
一些建议:
fragmentTransaction.replace
(除非您需要将片段添加到堆栈中)newInstance()
方法并通过调用methrod创建新的片段实例。此外,实现片段和活动之间的交互。提示:使用Android Studio向导将片段添加到项目中。 Android Studio将生成包含所有必需方法的骨架getSupportFragmentManager
(因为您的片段是android.support.v4.app.Fragment
)