有人知道Android中是否存在可以接受片段并只显示片段的活动吗?
这非常容易编写,但我只是想知道Android是否提供了这样的帮助类。
谢谢!
答案 0 :(得分:1)
幸运的是它不存在。没有必要在系统中有这样的东西,你可以自己用3-5行代码实现(如果你问的话,我个人也不喜欢ListActivity)。
答案 1 :(得分:-1)
是的,片段事务接受片段来显示它。
final FragmentManager fragManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragManager
.beginTransaction();
fragmentTransaction.add(myFragment, "xx"
+ REQUEST_CODE_PICK_ACCOUNT);
fragmentTransaction.commit();
下面的代码创建一个片段,片段选择一个用户。片段不需要UI。
final FragmentManager fragManager = getActivity().getSupportFragmentManager();
Fragment f = new Fragment() {
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
startActivityForResult(AccountPicker.newChooseAccountIntent(null, null,
new String[]{"com.google"}, false, null, null, null, null), REQUEST_CODE_PICK_ACCOUNT);
}
@Override
public void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == REQUEST_CODE_PICK_ACCOUNT) {
String mEmail = "";
if (resultCode == Activity.RESULT_OK) {
if (data.hasExtra(AccountManager.KEY_ACCOUNT_NAME)) {
mEmail = data
.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
}
}
if (mActivity != null) {
//save the email.
MyPreferences.putString(mActivity, SettingApplication.USER_EMAIL, mEmail);
}
doUser();
}
super.onActivityResult(requestCode, resultCode, data);
fragManager.beginTransaction().remove(this).commit();
}
};
FragmentTransaction fragmentTransaction = fragManager
.beginTransaction();
fragmentTransaction.add(f, "xx"
+ REQUEST_CODE_PICK_ACCOUNT);
fragmentTransaction.commit();