我用fragmentactivity在片段之间切换。但是我想在一个片段上有一个admin按钮,当我点击它时,一个新片段或活动看起来像一个孩子(操作栏中有back按钮)。
我怎样才能做到?
这是我的代码,可以使用,但“后退”按钮不会出现在操作栏中:
碎片:
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();
}
}
});
}
});
}
也许我得改变一下舱单上的东西?
3条答案
按热度按时间mrfwxfqh1#
你所需要做的就是在你当前的活动中启用它。
当进入一个
FragmentActivity
:getActionBar().setHomeAsUpEnabled(boolean)
.否则,在
Fragment
:getActivity().getActionBar().setHomeAsUpEnabled(boolean)
.w1jd8yoj2#
你需要重写
onCreateOptionsMenu
以及onOptionsItemSelected
. 在onCreateOptionsMenu
方法执行以下操作:将菜单充气到操作栏中。您可以在下定义菜单项的内容res/menu
文件夹。下一个
onOptionsItemSelected
方法,可以处理添加在操作栏中的后退按钮的单击。还要记住一件事。在清单中,请使用一个有操作栏的主题。示例:在应用程序标记下使用android:theme="@android:style/Theme.Light"
不是这样的android:theme="@android:style/Theme.Light.NoTitleBar
72qzrwbm3#
如果你要开始
new Activity
您可以通过写入shouldDisplayHomeUp();
在onCreate()
方法和上一步应该将您带到后堆栈中的上一个活动。另一种情况是加一个new Fragment
你可以看看这个答案作为参考,因为它提到,当你添加一个new Fragment
你把它加到back stack
这样地这将使后退按钮带你到你的上一页
Fragment