Java tutorial
/* * Copyright 2015. Alex Zhang aka. ztc1997 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.zprogrammer.tool.ui; import android.app.*; import android.content.*; import android.os.*; import android.support.v4.widget.*; import android.support.v7.app.*; import android.support.v7.widget.*; import com.tencent.bugly.crashreport.CrashReport; import com.zprogrammer.tool.*; import android.support.v7.app.ActionBar; import android.support.v7.app.AlertDialog; import android.view.Menu; import android.view.View; public class MainActivity extends AppCompatActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks { /** * Fragment managing the behaviors, interactions and presentation of the navigation drawer. */ private NavigationDrawerFragment mNavigationDrawerFragment; /** * Used to store the last screen title. For use in {@link #restoreActionBar()}. */ private CharSequence mTitle; private Fragment[] fragments = { new MainFragment(), new FavoritesFragment(), new SettingFragment() }; private Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (MyApplication.getInstance().getint(Views.PREF_KEY_LAST_VERSION, -1) < BuildConfig.VERSION_CODE) { startActivity(new Intent(MainActivity.this, Views.class)); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); } mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager() .findFragmentById(R.id.navigation_drawer_fragment); DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); mTitle = getTitle(); /*TypedValue typedValue = new TypedValue(); getTheme().resolveAttribute(R.attr.colorPrimaryDark, typedValue, true); int color = typedValue.data;*/ drawerLayout.setStatusBarBackgroundColor(getResources().getColor(R.color.theme_dark)); // Set up the drawer. mNavigationDrawerFragment.setUp(R.id.navigation_drawer, drawerLayout, toolbar); findViewById(R.id.container).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, NewActivity.class)); } }); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); } @Override public void onNavigationDrawerItemSelected(int position) { // update the main content by replacing fragments FragmentManager fragmentManager = getFragmentManager(); /* switch (position) { case 1: CrashReport.testJavaCrash(); return; }*/ fragmentManager.beginTransaction().replace(R.id.container, fragments[position]).commit(); onSectionAttached(position); } public void onSectionAttached(int number) { switch (number) { case 0: mTitle = getString(R.string.title_main); break; case 1: mTitle = getString(R.string.title_favorites); break; case 2: mTitle = getString(R.string.title_settings); break; } setTitle(mTitle); } public void restoreActionBar() { ActionBar actionBar = getSupportActionBar(); assert actionBar != null; actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setDisplayShowTitleEnabled(true); actionBar.setTitle(mTitle); } @Override public void onBackPressed() { if (mNavigationDrawerFragment.isDrawerOpen()) { mNavigationDrawerFragment.closeDrawer(); return; } showDialog("finish();", "String finish=\"?\";\nString hope=\"??\";\nSystem.printf(hope+finish);", "finish();", "dialog.dismiss();", 0); } //Dialog private void showDialog(String T, String M, String ok, String qx, final int i) { final AlertDialog dialog = new AlertDialog.Builder(this).setTitle(T).setMessage(M) .setPositiveButton(ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { finish(); } }).setNegativeButton(qx, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { //dialog.dismiss(); } }).create(); dialog.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { if (!mNavigationDrawerFragment.isDrawerOpen()) { // Only show items in the action bar relevant to this screen // if the drawer is not showing. Otherwise, let the drawer // decide what to show in the action bar. //getMenuInflater().inflate(R.menu.main, menu); restoreActionBar(); return true; } return super.onCreateOptionsMenu(menu); } }