Tag: android fragmentactivity

隐藏/显示操作栏选项菜单项为不同的片段

我有一个Sherlock碎片活动,里面有3个碎片。 片段A,片段B,片段C是三个片段。 我只想在Fragment B中显示完成的选项菜单。 活动从Fragment A开始。当Fragment B被select完成时,button被添加。 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if(!menusInflated){ inflater.inflate(R.menu.security, menu); menusInflated=true; } super.onCreateOptionsMenu(menu, inflater); } 当我再次启动片段AI要选项菜单完成(这是设置在片段B)为此我这样做 setHasOptionsMenu(false); MenuItem item = (MenuItem) menu.findItem(R.id.done_item); item.setVisible(false); 但是,这并不是隐藏的,当它首先使用Fragment A开始时,它也会给出NullPointerException。 请让我知道是什么问题。

如何通过旋转正确保留一个DialogFragment?

我有一个FragmentActivity托pipe一个DialogFragment。 DialogFragment执行networking请求并处理Facebook身份validation,所以我需要在轮换期间保留它。 我已经阅读了与这个问题有关的所有其他问题,但是没有一个真正解决了这个问题。 我使用putFragment和getFragment来保存Fragment实例,并在活动重新创build期间再次获取它。 但是,我总是在onRestoreInstanceState调用getFragment时得到一个空指针exception。 我也想保持对话在轮换期间不被解雇,但是到目前为止我甚至不能保留它的实例。 任何想法出了什么问题? 这是我的代码目前的样子: public class OKLoginActivity extends FragmentActivity implements OKLoginDialogListener { private OKLoginFragment loginDialog; private static final String TAG_LOGINFRAGMENT = "OKLoginFragment"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentManager fm = getSupportFragmentManager(); if(savedInstanceState == null) { loginDialog = new OKLoginFragment(); loginDialog.show(fm, TAG_LOGINFRAGMENT); } } @Override public void onSaveInstanceState(Bundle outState) { […]

“传递结果失败” – onActivityForResult

我有一个LoginActivity (用户login)。 它基本上是自己的Activity ,像对话框一样(看起来像一个对话框)。 它出现在SherlockFragmentActivity 。 我想要的是:如果login成功,应该有两个FragmentTransaction来更新视图。 这是代码: 在LoginActivity ,如果login成功, setResult(1, new Intent()); 在SherlockFragmentActvity : @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == 1) { LoggedStatus = PrefActivity.getUserLoggedInStatus(this); FragmentTransaction t = MainFragmentActivity.this.getSupportFragmentManager().beginTransaction(); SherlockListFragment mFrag = new MasterFragment(); t.replace(R.id.menu_frame, mFrag); t.commit(); // Set up Main Screen FragmentTransaction t2 […]

在Android Studio中找不到默认活动

我刚刚升级到Android Studio 0.2.8,当我尝试编辑运行configuration时,出现“Default Activity not found”错误。 当我启动Android Studio时,我得到这个错误“只允许从事件调度线程访问” 我正在使用的活动是一个片段活动。 到目前为止,我已经尝试重build和无效的caching/重新启动。 两者都没用。 请让我知道我能做些什么来解决这个问题。

FragmentPagerAdapter getItem不被调用

我不能在FragmentPagerAdapter中重用片段。使用destroyItem()方法,它正在删除片段,但仍然不会再调用getItem()..只有2-3图像,所以我使用FragmentPagerAdapter而不是FragmentStatePagerAdapter .. public class ExamplePagerAdapter extends FragmentPagerAdapter { ArrayList < String > urls; int size = 0; public ExamplePagerAdapter(FragmentManager fm, ArrayList < String > res) { super(fm); urls = res; size = urls.size(); } @Override public int getCount() { if (urls == null) { return 0; } else { return size; } } @Override public […]

带有底点的Android ViewPager

我想添加3个底点到我的ViewPager,就像这样。 我使用FragmentActivity和支持库ViewPager。

我如何访问片段中的getSupportFragmentManager()?

我有一个FragmentActivity,我想使用它内的地图片段。 我有一个问题让支持片段pipe理器来访问它。 if (googleMap == null) { googleMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map1)).getMap(); // check if map is created successfully or not if (googleMap == null) { Toast.makeText(getApplicationContext(), "Sorry! unable to create maps", Toast.LENGTH_SHORT) .show(); } } // create marker MarkerOptions marker = new MarkerOptions().position( new LatLng(latitude, longitude)).title("Hello Maps "); CameraPosition cameraPosition = new CameraPosition.Builder() .target(new […]

片段与片段活动的区别

我的问题是除了明显的遗传差异之外, Fragment和FragmentActivity之间的主要区别是什么? 每个课程最适合哪种情况? 我想了解为什么这两个类都存在…

startActivityForResult()从一个Fragment和完成子Activity,不会调用onActivityResult()在Fragment

FirstActivity.Java有一个调用startActivityForResult()的FragmentA.Java 。 SecondActivity.Java调用finish()但onActivityResult永远不会被调用,这是写在FragmentA.Java 。 FragmentA.Java代码: @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // some code Intent i = new Intent(getActivity(), SecondActivity.class); i.putExtra("helloString", helloString); getActivity().startActivityForResult(i, 1); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); getActivity(); if(requestCode == 1 && resultCode == Activity.RESULT_OK) { //some code } } SecondActivity.Java代码: @Override protected […]

从片段开始一个活动

我有两个片段与两个片段一个button。 当我按下button,我想开始一个新的活动。 但是我无法让它工作。 我得到的错误: 错误在这里:types不匹配:不能从mFragmentFavorite转换为片段 我究竟做错了什么? MyFragmentPagerAdapter import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ final int PAGE_COUNT = 3; /** Constructor of the class */ public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } /** This method will be invoked when a page is requested to create */ @Override public Fragment getItem(int arg0) { […]