相关疑难解决方法(0)

为什么onAttach之前打过onCreate?

在Fragment的生命周期中,onAttach()方法在onCreate()方法之前调用.我无法绕过这个.你为什么要先附上片段?

android android-fragments

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

即使Fragment添加并可见,Fragment.isVisible()也会返回false

我对Fragment.isVisible()应该如何工作感到困惑.即使我添加了一个片段Activity.create(),Fragment.isVisible()即使FragmentManager.commitNow()使用它也会返回false .

Fragment.isVisible()即使在中也返回false onResume().但是,单击UI按钮时,返回的值是正确的.

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

public final static String TAG = "HideFragmentOnChange";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ((Button)findViewById(R.id.my_button)).setOnClickListener(this);

    if(savedInstanceState == null){
        Fragment fragmentA = new FragmentA();

        Log.d(TAG, "onCreate: Before FragmentTransaction FragA: " + (fragmentA.isVisible() ? "visible" : "not visible"));

        getSupportFragmentManager().beginTransaction()
                .add(R.id.fragment_container, fragmentA, "fragA")
                .commitNow();

        Log.d(TAG, "onCreate: After FragmentTransaction FragA: " + (fragmentA.isVisible() ? "visible" : "not visible"));

    }

    this.runOnUiThread(new Runnable(){
        @Override
        public …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-support-library

4
推荐指数
2
解决办法
2837
查看次数

从 `onCreateView` 调用 `getActivity()` 是否安全?

查看 Fragment 生命周期(例如此处),Activity 似乎在发出任何其他回调之前附加到 Fragment(这是由onAttach()方法通知的)。

在我的由单个活动组成的应用程序中,第一个 Fragment 是从onCreate()Activity的方法中打开的(实际上它是在里面完成的最后一件事onCreate())。

目前,我正在onCreateView()回调中初始化我的所有图形元素,包括一些ArrayAdapter需要构造 Activity 的对象(如)的实例化,这是通过调用getActivity(). 我假设此时 Activity 肯定存在,因为该onAttach()方法已经被调用。
我注意到 IntelliJ 警告我getActivity()返回的可能性null,可能只是因为该方法被注释为@Nullable,所以我开始在网上搜索我的假设是否真的正确,现在我很困惑:getActivity()在内部调用是否真的安全onCreateView()? 为什么有一个方法被调用onActivityCreated()(我知道它现在已被弃用,但它肯定是有用途的)?

不幸的是,文档无助于理解这一点。

android fragment android-activity

0
推荐指数
1
解决办法
297
查看次数