我使用FragmentActivity在片段之间切换。但我希望在片段上有一个管理按钮,当我单击它时,一个新的片段或活动看起来像一个孩子(在操作栏中有后退按钮)。
我怎样才能做到?
这是我的代码,可以使用,但“后退”按钮不会出现在操作栏中:
片段:
public class Reports extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (container == null) {
return null;
}
public void onClick(View v) {
Intent intent = new Intent(getActivity(), LoginActivity.class);
getActivity().startActivity(intent);
}
});
}
}
活动(目前……但如果需要,可能会出现碎片?):
public class LoginActivity extends ActionBarActivity {
public static final String TAG = LoginActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
Button loginButton = (Button) findViewById(R.id.loginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView emailText = (TextView) findViewById(R.id.emailText);
TextView passwordText = (TextView) findViewById(R.id.passwordText);
ParseUser.logInInBackground(emailText.getText().toString(), passwordText.getText().toString(), new LogInCallback() {
public void done(ParseUser user, ParseException e) {
if (user != null) {
Log.i(TAG, "Yeahhh Login OK");
finish();
} else {
runOnUiThread();
}
}
});
}
});
}
也许我必须更改舱单中的某些内容?
如果您正在启动一个新活动,您可以通过编写shouldDisplayHomeUp()来启用其中的后退按钮 和on back应该将您带到back stack中的上一个活动。在另一个添加新片段的情况下,你可以查看这个答案以供参考,因为它提到当你添加新片段时,你会像这样将其添加到后堆栈中
getSupportFragmentManager().beginTransaction()
.add(detailFragment, "detail")
// Add this transaction to the back stack
.addToBackStack()
.commit();
这将使“后退”按钮将您带到上一个片段
你需要覆盖onCreateOptionsMenu
和onOptionsItemSelec
。在onCreateOptionsMenu
方法中执行以下操作:将菜单充气到操作栏中。您可以在res/men
文件夹下定义菜单项的内容。
接下来,在“选项项选定”(Options ItemSelected)方法中,您可以处理在操作栏中添加的后退按钮的单击。还要记住一件事。在清单中,请使用包含动作栏的主题。示例:在应用程序标记下,使用Android:主题=“@android:style/theme.Light”而不是类似Android:主题=“@android:style/theme.Light.NoTitleBar
您需要做的就是在当前活动中启用它。
当在FragmentActive
中时:getActionBar(). setHomeAsUpEngic(boolean)
。
否则,在片段内:getActivity()。getActionBar()。setHomeAsUpEnabled(布尔)
。
此时,Frag2在堆栈上,是唯一可见的片段。我使用了replace和addToBackStack,因为我需要后退导航。我的问题是,当我在Frag2内旋转屏幕时,活动中的super.oncreate(savedInstanceState)方法调用frag1的构造函数。 在用户按下后退按钮之前,有没有什么方法可以避免调用Frag1的构造函数?
YQL(简化): 结果(简化): 如何告诉Vespa从“计算机”而不是“de”创建代码段?
MainActivity(扩展了fragmentActivity)有listview,它调用listviewadapter,其中有一个带有ViewpagerAdapter的ViewPager。现在,如果我需要在ViewPager中生成5个片段,如何将getFragmentManager()传递给适配器。 MainActivity[fragmentActivity]---->Listview----
问题内容: 我发现将UIImage]导出为movie,但是所有这些都在ObjectiveC中,我无法在Swift中弄清楚。 我需要从[UIImage]创建视频 通过上面的链接研究Zoul的答案。第1部分)编写器连线 到目前为止,我有: 我不知道他的正确的Swift版本 问题答案: 构造文字很简单: 至于其他所有内容,我鼓励您通读Apple的The Swift Programming Languag
我想将数据从父片段传递到选项卡式片段(子片段),以便传递初始数据(当父片段第一次加载时),我使用了Bundle数据。当在子片段的嵌套片段中时,我调用PopbackStack(),以便通过单击按钮返回。在那里,我需要更新之前传递到子选项卡片段的捆绑数据。捆绑数据不会得到更新的数据集 父片段-初始状态 子片段-Tab片段 孩子- 我错过了什么?请帮忙
我有一个,它创建一个,然后这个创建另一个: 这让我想到。是否真的可以删除并转到? 提前感谢您的时间,我在网上找不到任何合适的信息!