这是我的MainActivity.java文件。
MainActivity在app中运行时出错。我该怎么办?
public class MainActivity extends ActionBarActivity implements
NavigationDrawerFragment.NavigationDrawerCallbacks {
private Button btnTutor;
private Button btnStudent;
private TextView repIssue;
private TextView appVersion;
/**
* 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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set up the drawer.
mNavigationDrawerFragment.setUp(R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));
setContentView(R.layout.activity_main);
OnClickListener socialsClickListener = new OnClickListener(){
@Override
public void onClick(View v) {
Intent viewIntent = null;
viewIntent = new Intent(getApplicationContext(), MainActivity.class);
viewIntent.putExtra("PAGE", getSocialClicked(v.getId()));
startActivity(viewIntent);
}
};
// Loading Font Face
Typeface tfTitle = Typeface.createFromAsset(getAssets(), "Roboto-Light.ttf");
Typeface tfButtons = Typeface.createFromAsset(getAssets(), "Eraser.ttf");
((TextView) findViewById(R.id.txt_title)).setTypeface(tfTitle);
btnTutor = (Button)findViewById(R.id.btn_tutor);
btnTutor.setOnClickListener(socialsClickListener);
btnTutor.setTypeface(tfButtons);
btnStudent = (Button)findViewById(R.id.btn_student);
btnStudent.setOnClickListener(socialsClickListener);
btnStudent.setTypeface(tfButtons);
repIssue = (TextView) findViewById(R.id.txt_report);
repIssue.setOnClickListener(socialsClickListener);
appVersion = (TextView) findViewById(R.id.txt_app_version);
appVersion.setOnClickListener(socialsClickListener);
mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager()
.findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();
}
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager
.beginTransaction()
.replace(R.id.container,
PlaceholderFragment.newInstance(position + 1)).commit();
}
public void onSectionAttached(int number) {
switch (number) {
case 1:
mTitle = getString(R.string.title_section1);
break;
case 2:
mTitle = getString(R.string.title_section2);
break;
case 3:
mTitle = getString(R.string.title_section3);
break;
}
}
public void restoreActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
}
@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);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
/**
* The fragment argument representing the section number for this
* fragment.
*/
private static final String ARG_SECTION_NUMBER = "section_number";
/**
* Returns a new instance of this fragment for the given section number.
*/
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
((MainActivity) activity).onSectionAttached(getArguments().getInt(
ARG_SECTION_NUMBER));
}
}
private String getSocialClicked(int id){
switch (id) {
case R.id.btn_tutor:
return "http://m.getedgeucated.com/sshs/dashboard/login.html";
case R.id.btn_student:
return "http://m.getedgeucated.com/sshs/timecheck.html";
case R.id.txt_app_version:
return "http://m.getedgeucated.com/sshs/appsupport.html";
case R.id.txt_report:
return "http://sshs.getedgeucated.com/chatsupport_redirect.html";
default:
return "";
}
}
} ` 这是我的activity_main.xml。
`
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_gravity="center"
android:src="@drawable/getedgeucated_logo"
android:adjustViewBounds="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textStyle="bold"
android:text="@string/logo_desc"
android:textColor="@android:color/darker_gray"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<TextView
android:id="@+id/txt_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_margin"
android:layout_gravity="center"
android:gravity="center"
android:textStyle="bold"
android:text="@string/subtitle"
android:textColor="@android:color/darker_gray"
android:textAppearance="?android:attr/textAppearanceLarge"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical">
<Button
android:id="@+id/btn_student"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/half_padding"
android:background="@drawable/btn_home"
android:gravity="center"
android:text="I am a student"
android:textColor="#ffffff"
android:textSize="@dimen/text_size_large"
android:textStyle="bold" />
<Button
android:id="@+id/btn_tutor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="I am a tutor"
android:textStyle="bold"
android:textColor="#ffffff"
android:textSize="@dimen/text_size_large"
android:background="@drawable/btn_home"
android:layout_margin="@dimen/half_padding"/>
</LinearLayout>
<TextView
android:id="@+id/txt_report"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:textStyle="bold"
android:text="@string/report_issue"
android:textColor="@color/background"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<TextView
android:id="@+id/txt_app_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="@string/app_version"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/background"
android:textStyle="bold" />
`
我仍然遇到FATAL EXCEPTION错误:调试器中出现主Java.io.NullpointerException错误。
答案 0 :(得分:0)
从这些步骤开始:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));
//The rest of your code