相关疑难解决方法(0)

如何使我的自定义对象Parcelable?

我正在尝试让我的对象Parcelable.但是,我有自定义对象,这些对象具有ArrayList我所做的其他自定义对象的属性.

最好的方法是什么?

android parcelable

329
推荐指数
7
解决办法
23万
查看次数

一个活动和所有其他碎片

我想实现一个屏幕,Activity和所有其他sreens与Fragmentsmanaging all the fragments thru the activity.

这是个好主意吗?我的答案是否定的,但我仍然想更清楚地了解这个想法.

这个想法的优点和缺点是什么?

注意:

请不要给我片段和活动的链接.

编辑:

这是碎片和活动的一部分:

优点:

  1. 片段旨在与活动一起用作子活动.
  2. 碎片不是活动的替代品.
  3. 碎片意味着可重用性(需要知道可以以何种方式实现可重用性).
  4. 片段是编写代码以支持平板电脑和手机的最佳方式.

缺点:

  1. 我们需要实现接口以从片段中获取数据.
  2. 对于对话,我们必须走很长的路才能展示它.

如果我们不考虑平板电脑,为什么要使用碎片?活动和片段之间的起始时间差是多少?

android android-layout android-lifecycle android-fragments android-activity

157
推荐指数
5
解决办法
6万
查看次数

片段活动onSaveInstanceState未被调用

我已经看到了一些类似的问题,关于onSaveInstanceState没有被称为Fragments,但在我的情况下Fragment工作正常,这是主要FragmentActivity的麻烦.

相关代码看起来很简单:

public class MyFActivity extends FragmentActivity implements ActionBar.TabListener { 
    String[] allValues; // data to save

    @Override
    protected void onSaveInstanceState (Bundle outState) {
        Log.d("putting it!", allValues.toString());
        outState.putStringArray("allValues", allValues);
        super.onSaveInstanceState(outState);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (savedInstanceState != null) {
            allValues = savedInstanceState.getStringArray("allValues");
            Log.d("getting it!", allValues.toString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

暂停活动时(使用后退按钮),onSaveInstanceState永远不会调用,因此,在恢复应用程序时savedInstanceState始终nullonCreate方法内.我尝试添加这样的块:

@Override
public void onPause() {
    super.onPause();
    onSaveInstanceState(new Bundle());      
}
Run Code Online (Sandbox Code Playgroud)

这是在/sf/answers/993664171/中建议的,但是当 …

android android-fragmentactivity

19
推荐指数
2
解决办法
2万
查看次数