如何从Android中的AppCompatActivity调用MainActivityFragment? (我是Android新手。)
主要活动
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create new fragment and transaction
}
}
片段
public class MainActivityFragment extends Fragment {
ArrayAdapter mforecastadapter;
ListView list_view;
public MainActivityFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootview= inflater.inflate(R.layout.fragment_main, container, false);
String Items[] = {"Sandeep", "Santhosh", "Sangeetha", "Basil", "bibhas", "sumanth", "praveen"};
List<String> weekforecast=new ArrayList<>(Arrays.asList(Items));
mforecastadapter=new ArrayAdapter<String>(getActivity(),R.layout.fragment_main,R.id.list_item_forecast_textview,Items);
list_view = (ListView) rootview.findViewById(R.id.listView);
list_view.setAdapter(mforecastadapter);
return rootview;
}
}
答案 0 :(得分:1)
不要真的知道你的意思&#34; call&#34;,但如果你想在Activity中实例化一个片段,请在你的Activity中写下:
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
YourFragment frag = new YourFragment ();
ft.replace(R.id.container_for_fragment, frag);
ft.commit();
注意R.id.container_for_fragment是包含片段实例的xml属性。它可以是<fragment>
,<FrameLayout>
。
这是最基本的方法。你可以在SO上找到更多的例子,如何使用片段BackStack等。
您还可以在FragmentTransaction中使用add()而不是replace(),具体取决于您的需要。
我希望它可以帮到你。