2015-01-01 3 views
-4

이것은 내 MainActivity.java 파일입니다.Unfrotunatly 앱이 중지되었습니다. 내비게이션 서랍

MainActivity가 앱에서 실행되는 동안 오류가 발생했습니다. 어떻게해야합니까?

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입니다. 디버거에서 주요 Java.io.NullpointerException 오류 :

<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" /> 

`

난 아직도 치명적인 예외의 오류

`

.

+0

는'mNavigationDrawerFragment'은'설정()'호출에 null입니다. –

+0

나는 안드로이드에 새로운데 어떻게이 문제를 해결합니까? – Ankit

+0

'onCreate()'메소드의 끝 부분에서 초기화 후에 설정을 이동하십시오. –

답변

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 
관련 문제