找出当前是否显示特定片段

时间:2014-03-15 14:59:38

标签: android android-fragments

我想处理“onBackPressed”事件,并希望检查当前查看的片段

所以就像按下“后退”按钮一样,我希望我的应用程序检查fragment_main是否显示 如果是,请关闭应用程序 如果不回复它。

我可以使用片段管理器吗? 我没有在互联网上找到有用的例子......

这是我的代码:

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.app.FragmentManager;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }

    @Override
    public void onBackPressed() {


        Fragment Main = (Fragment) getSupportFragmentManager().findFragmentById(R.id.MainFrag);

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

查看Fragment.getUserVisibleHint()。这应该告诉您片段当前是否可见。

答案 1 :(得分:0)

我解决了这个问题!

现在我创建了一个由Intent调用的新活动,android会自动处理onBackPressed()事件。 但谢谢你的帮助!