android活动中用户可见性的代码

时间:2016-12-27 06:08:49

标签: android android-activity

string cmd = "\"C:\\Program Files (x86)\\GlassWire\\glasswire.exe\" -hide";

int index = cmd.ToLower().LastIndexOf(".exe");
string path = cmd.Substring(0, index+4);
index = path.IndexOf("\"");
if (index >= 0)
path = path.Substring(index + 1);

这对于片段我如何在活动中使用它。如果我在活动中复制了相同的代码,此时我会收到错误,请将解决方案发给我。

3 个答案:

答案 0 :(得分:0)

您正尝试从Activity调用Fragment方法,该方法仅可用于Fragments。

根据文件 -

  

setUserVisibleHint(boolean isVisibleToUser) - 设置系统提示   关于此片段的UI当前是否对用户可见。

答案 1 :(得分:0)

setUserVisibleHint(boolean)只能在片段中使用而不能在Activity中使用  https://developer.android.com/reference/android/app/Fragment.html#setUserVisibleHint(boolean)

向系统提供有关此片段的UI当前是否对用户可见的提示。此提示默认为true,并且在片段实例状态保存和恢复期间保持不变。

应用程序可能将此设置为false,以指示片段的UI滚动超出可见性或者不会直接对用户可见。系统可以使用它来确定片段生命周期更新或加载器排序行为等操作的优先级。

答案 2 :(得分:0)

Do like this

public class MainActivity extends FragmentActivity {

    ViewPager viewPager;
    CustomPagerAdapter adapter;
    ArrayList<Fragment> fragments = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewPager = (ViewPager)findViewById(R.id.viewPager);
        adapter = new CustomPagerAdapter(getSupportFragmentManager(),Fragments());
        viewPager.setAdapter(adapter);

        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

                if (position == 0)
                {
                    DemoFragment1 fragment1 = (DemoFragment1) fragments.get(0);
                    fragment1.setUserVisibleHint(true);
                }

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

    public ArrayList<Fragment> Fragments()
    {
        fragments.clear();

        fragments.add(new DemoFragment1());
        fragments.add(new DemoFragment2());
        fragments.add(new DemoFragment3());

      return fragments;
    }

}