- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要计算我的 fragment ,我使用了 getbackstackentrycount,但它总是返回 0。有人可以告诉我我的代码有什么问题吗?
这是我的代码MainActivity.java
package com.example.bams.taskagain;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.example.bams.taskagain.Fragment.FragmentOne;
public class MainActivity extends AppCompatActivity {
Button btn;
FragmentManager fm = getFragmentManager();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.fragOne);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fm.beginTransaction().add(R.id.content, new FragmentOne()).addToBackStack("aa").commit();
//Toast.makeText(getBaseContext(), "text", Toast.LENGTH_LONG).show();
}
});
}
}
这是我的fragment
类
package com.example.bams.taskagain.Fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.bams.taskagain.R;
/**
* Created by jack on 25/02/2017.
*/
public class FragmentOne extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("Total back stack "+ ((AppCompatActivity)getActivity()).getSupportFragmentManager().getBackStackEntryCount());
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_one,container,false);
return rootView;
}
}
有人可以帮我修改我的代码吗?我只想获取我的 fragment 的 BackStack 计数。
最佳答案
您正在使用 android.app.Fragment
和 android.app.FragmentManager
但使用 getSupportFragmentManager()
来获取堆栈条目计数.
使用
getFragmentManager().getBackStackEntryCount()
如果您的 fragment 是
android.app.Fragment
,则使用
getFragmentManager()
;如果您的 fragment 是 android,则使用
.getSupportFragmentManager()
.support.v4.fragment
有关这些 fragment 的更多信息,请查看 Difference between android.app.Fragment and android.support.v4.app.Fragment
关于java - 为什么方法 getBackStackEntryCount 总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42454283/
我需要计算我的 fragment ,我使用了 getbackstackentrycount,但它总是返回 0。有人可以告诉我我的代码有什么问题吗? 这是我的代码MainActivity.java pa
我有一个方法可以删除所有的backstack public void removeAllInBackStack(FragmentManager fm) { int len = fm.getBa
为什么我的 fragment 管理器的 getBackStackEntryCount 方法返回零? 我已经花了一个小时或检查 SO 来寻找这个问题的答案。我有 通过 getSupportFragmen
private static void changeFragment(Fragment f, boolean init) { FragmentTransaction ft = fm.b
我想要的正确行为是: Fragment A -> Fragment B -> Fragment C -> Fragment A 我目前在做什么: 当我想从 B 回到 A 时,我仍然在这里使用 popB
我有两个 Activity A 和 B。 Activity A 有一个 mapFragment,我将它添加到后台堆栈。当我从 B 回到 Activity A 时,我希望 fragment 以与我离开时
我是一名优秀的程序员,十分优秀!