- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用此处提供的示例代码将导航选项卡添加到操作栏: http://developer.android.com/guide/topics/ui/actionbar.html我正在使用 ActionBarSherlock。
我的 TabListener 是直接从文档中复制而来的。
public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
private Fragment mFragment;
private final Activity mActivity;
private final String mTag;
private final Class<T> mClass;
/** Constructor used each time a new tab is created.
* @param activity The host Activity, used to instantiate the fragment
* @param tag The identifier tag for the fragment
* @param clz The fragment's Class, used to instantiate the fragment
*/
public TabListener(Activity activity, String tag, Class<T> clz) {
mActivity = activity;
mTag = tag;
mClass = clz;
}
/* The following are each of the ActionBar.TabListener callbacks */
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
// Check if the fragment is already initialized
if (mFragment == null) {
// If not, instantiate and add it to the activity
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
// If it exists, simply attach it in order to show it
ft.attach(mFragment);
}
}
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
if (mFragment != null) {
// Detach the fragment, because another one is being attached
ft.detach(mFragment);
}
}
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
// User selected the already selected tab. Usually do nothing.
}
}
我在我的 Activity 中设置了监听器:
ActionBar.Tab tab = actionBar.newTab();
tab.setText(getString(R.string.TAB_CALC));
tab.setTabListener(new TabListener<StrokeSelectorFragment>(this, "blah", StrokeSelectorFragment.class));
actionBar.addTab(tab);
但应用程序因空指针异常而崩溃,因为空 FragmentTransaction 正在传递给监听器中的 onTabSelected()。我应该在某个地方创建一个吗?
我一遍又一遍地看文档,我很困惑。你能看到我错过了什么吗?
最佳答案
我发现上面 Ollie 的帖子很有帮助,但不够详细。我设法重构了 ActionBar Guide 中提供的代码如下(注意:您必须对 TabListener 中实现的其他方法进行相同的更改):
public void onTabSelected(Tab tab, FragmentTransaction ignoredFt) {
FragmentManager fragMgr = ((FragmentActivity)mActivity).getSupportFragmentManager();
FragmentTransaction ft = fragMgr.beginTransaction();
// Check if the fragment is already initialized
if (mFragment == null) {
// If not, instantiate and add it to the activity
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
// If it exists, simply attach it in order to show it
ft.attach(mFragment);
}
}
关于android - Null FragmentTransaction 被传递给 TabListener.onTabSelected(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645549/
我尝试在我的应用程序中实现选项卡并遵循本教程: http://android-er.blogspot.de/2012/06/create-actionbar-in-tab-navigation-mod
在 Android 5(API 级别 21)中 ActionBar.TabListener已被弃用。为什么?我们应该用什么代替?这是否意味着作为 UI 元素的操作选项卡已被普遍弃用,或者是否有新的方法
我正在尝试实现选项卡导航,但我想确保拥有旧版本 Android 的用户仍然可以使用我的应用程序。 ATM 中的应用程序相当简单,我只是想了解如何实现布局,然后我将添加缺失的部分。 无论如何,我有一个扩
我想在我的应用程序中实现选项卡和选项卡监听器。 public class MyActivity extends Activity { @Override protected v
我在 LogCat 中收到此错误消息: 06-25 15:17:34.495: E/AndroidRuntime(5891): java.lang.RuntimeException: Unable t
我有 mainactivity,其中包含两个选项卡并具有以下代码: public class MainActivity extends Activity { private class MyT
我是 Android 新手,所以请详细解释一下 我正在构建一个显示 2 个简单选项卡的应用程序。我的代码是: ActionBarImpl.java package com.adhish.tabs1;
我正在尝试将 ViewPager 与 ActionBarTabs 一起使用。我引用了一些例子并遵循了它们。但是下面代码中使用的 TabListener 和 ActionBar.Tab 已被弃用,我不知
我遇到的问题是我的一个标签听众说 Bound mismatch: The type MainActivity is not a valid substitute for the bounded par
由于弃用,我正在尝试将一些代码从 FragmentActivity 升级到 AppCompatActivity 并将 ActionBar 升级到 android.support.v7.app.Acti
所以我遇到了这个烦人的问题。在 Android 方面,我非常菜鸟,所以任何帮助都会很好。 这是我的 MainActivity,根据 LogCat,它似乎正在崩溃。我正在尝试创建的应用程序必须从我正在尝
是否可以在 ActionBar 中选择选项卡时显示 FragmentDialog? onTabSelected() 方法发生在方法执行完成后提交的事务中。但是,DialogFragment 中的 sh
我正在使用此处提供的示例代码将导航选项卡添加到操作栏: http://developer.android.com/guide/topics/ui/actionbar.html我正在使用 ActionB
我是 android 的新手,最近使用了一个 android 模板(选项卡式 Activity - 带有 ViewPager 和 fragment )并注意到 ActionBar 和 ActionBa
我在我的 Android 应用程序中使用了一个类似于此的 TabListener:http://developer.android.com/guide/topics/ui/actionbar.html
我正在使用 MainActivity 构建一个应用程序扩展 FragmentActivity并且有一个带有三个选项卡的 ActionBar。在每个选项卡上,我想附上一个 ParentFragment这
大家好。我正在尝试构建一个简单的应用程序,它支持具有滑动 View 功能的选项卡布局。我关注这个tutorial但没有成功。 package com.example.project.project;
我有一个包含 2 个 fragment 的 Activity 。我决定使用 PageAdapter 在两个 View 之间滑动,但是,为了接近 android 设计最佳实践,我还决定使用操作栏选项卡(
我的应用程序有一个操作栏和 fragment 。我将 tablistener 用于操作栏的选项卡: package com.infomercados.appinfomercados; import a
我正在按照开发人员指南 here 尝试在 android 中实现可滑动的选项卡 View , 但我收到拒绝我的自定义 TabListener 的编译错误: [javac] /home/brad/Oth
我是一名优秀的程序员,十分优秀!