我是Android的新手。
我对MasterDetail模板有疑问。
我有一个活动来管理用户登录。登录数据正确时,我需要显示“主详细信息”模板。
因此,在Android Studio中,我在项目中添加了一个Master / Detail Flow活动。
在我的validateLogin()
方法中,登录数据正确后,我必须在“主/明细”流程中显示Activity
,并使用此代码:
Intent myIntent = new Intent(Login.this, MasterDetailListActivity.class);
startActivity(myIntent);
finish();
如果此代码正确,我将不安全,我还会显示actionBar(实际上我只能在detailView中看到ActionBar。)>
******编辑**********
这是我的列表活动的代码
public class BusinessPartnerListActivity extends FragmentActivity implements BusinessPartnerListFragment.Callbacks { /** * Whether or not the activity is in two-pane mode, i.e. running on a tablet * device. */ private boolean mTwoPane; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_businesspartner_list); if (findViewById(R.id.businesspartner_detail_container) != null) { // The detail container view will be present only in the // large-screen layouts (res/values-large and // res/values-sw600dp). If this view is present, then the // activity should be in two-pane mode. mTwoPane = true; // In two-pane mode, list items should be given the // 'activated' state when touched. ((BusinessPartnerListFragment) getSupportFragmentManager() .findFragmentById(R.id.businesspartner_list)) .setActivateOnItemClick(true); } // TODO: If exposing deep links into your app, handle intents here. } /** * Callback method from {@link BusinessPartnerListFragment.Callbacks} * indicating that the item with the given ID was selected. */ @Override public void onItemSelected(String id) { if (mTwoPane) { // In two-pane mode, show the detail view in this activity by // adding or replacing the detail fragment using a // fragment transaction. Bundle arguments = new Bundle(); arguments.putString(BusinessPartnerDetailFragment.ARG_ITEM_ID, id); BusinessPartnerDetailFragment fragment = new BusinessPartnerDetailFragment(); fragment.setArguments(arguments); getSupportFragmentManager().beginTransaction() .replace(R.id.businesspartner_detail_container, fragment) .commit(); } else { // In single-pane mode, simply start the detail activity // for the selected item ID. Intent detailIntent = new Intent(this, BusinessPartnerDetailActivity.class); detailIntent.putExtra(BusinessPartnerDetailFragment.ARG_ITEM_ID, id); startActivity(detailIntent); } } }
...和详细活动...
public class BusinessPartnerDetailActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_businesspartner_detail); // Show the Up button in the action bar. getSupportActionBar().setDisplayHomeAsUpEnabled(true); // savedInstanceState is non-null when there is fragment state // saved from previous configurations of this activity // (e.g. when rotating the screen from portrait to landscape). // In this case, the fragment will automatically be re-added // to its container so we don't need to manually add it. // For more information, see the Fragments API guide at: // // http://developer.android.com/guide/components/fragments.html // if (savedInstanceState == null) { // Create the detail fragment and add it to the activity // using a fragment transaction. Bundle arguments = new Bundle(); arguments.putString(BusinessPartnerDetailFragment.ARG_ITEM_ID, getIntent().getStringExtra(BusinessPartnerDetailFragment.ARG_ITEM_ID)); BusinessPartnerDetailFragment fragment = new BusinessPartnerDetailFragment(); fragment.setArguments(arguments); getSupportFragmentManager().beginTransaction() .add(R.id.businesspartner_detail_container, fragment) .commit(); } } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { // This ID represents the Home or Up button. In the case of this // activity, the Up button is shown. Use NavUtils to allow users // to navigate up one level in the application structure. For // more details, see the Navigation pattern on Android Design: // // http://developer.android.com/design/patterns/navigation.html#up-vs-back // NavUtils.navigateUpTo(this, new Intent(this, BusinessPartnerListActivity.class)); return true; } return super.onOptionsItemSelected(item); } }
*****编辑(视频)******有关ActionBar动画的问题的视频]
https://www.dropbox.com/s/af07ovbv36pn44x/actionbab_issue.mov?dl=0
[我是Android的新手。我对MasterDetail模板有疑问。我有一个活动来管理用户登录。登录数据正确时,我需要显示“主详细信息”模板。因此,在...
您需要从ActionBarActivity
而不是FragmentActivity
扩展。将您的listview活动定义更改为:
是的,您做得对,我的意思是您的代码很完美。如果您想完成当前操作,则