2013-06-24 2 views
1

안드로이드 네비게이션 서랍 가이드를 따르면서 목록에있는 항목에서 활동을 시작하려고 할 때까지 모두 잘 돌아갔습니다. 서랍은 내가 만든 테스트 토스트 메시지가 첫 번째 항목이 클릭되었을 때 실행되지만 앱이 충돌하는 두 번째 항목을 클릭 할 때 제대로 작동하는 것 같습니다.네비게이션 서랍에서 활동을 시작할 수 없습니다.

사람이 여기

내 Mainactivity입니다 .. 문제가 또는 누군가가 올바른 방향으로 날 가리하시기 바랍니다 수 있는지 말해 줄 수 :

public class MainActivity extends Activity { 

private DrawerLayout mDrawerLayout; 
private ListView mDrawerList; 
private ActionBarDrawerToggle mDrawerToggle; 

private CharSequence mDrawerTitle; 
private CharSequence mTitle; 
private String[] mGalaxyTitles; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mTitle = mDrawerTitle = getTitle(); 
    mGalaxyTitles = getResources().getStringArray(R.array.list_items); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (ListView) findViewById(R.id.left_drawer); 


    mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); 
    mDrawerList.setAdapter(new ArrayAdapter<String>(this, 
      R.layout.drawer_list_item, mGalaxyTitles)); 
    mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 
    if (savedInstanceState == null) { 
     selectItem(0);} 

    getActionBar().setDisplayHomeAsUpEnabled(true); 
    getActionBar().setHomeButtonEnabled(true); 


    mDrawerToggle = new ActionBarDrawerToggle(
      this,     
      mDrawerLayout,   
      R.drawable.ic_drawer, 
      R.string.hello_world, 
      R.string.hello_world 
      ) { 
     public void onDrawerClosed(View view) { 
      getActionBar().setTitle(mTitle); 
      invalidateOptionsMenu(); 
     } 

     public void onDrawerOpened(View drawerView) { 
      getActionBar().setTitle(mDrawerTitle); 
      invalidateOptionsMenu(); 
     } 
    }; 
    mDrawerLayout.setDrawerListener(mDrawerToggle); 

    /** if (savedInstanceState == null) { 
     selectItem(0); 
    }**/ 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    if (mDrawerToggle.onOptionsItemSelected(item)) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item);} 


private class DrawerItemClickListener implements ListView.OnItemClickListener { 

    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

    switch(position) { 
    case 0: 
     Toast.makeText(getApplicationContext(), "Some Activities MAY take time to load. Please be Patient.", Toast.LENGTH_LONG).show(); 
     //Intent a = new Intent(MainActivity.this, Dev_team.class); 
      //startActivity(a); 
    break; 
    case 1: 
     Toast.makeText(getApplicationContext(), "Some Activities MAY take time to load. Please be Patient.", Toast.LENGTH_LONG).show(); 
     Intent a = new Intent(getBaseContext(), dev.class); 
     startActivity(a); 
      break; 
    default: 
    } 
    } 
    } 


public void selectItem(int position) { 
     switch(position) { 
    case 0: 
     Toast.makeText(getApplicationContext(), "Some Activities MAY take time to load. Please be Patient.", Toast.LENGTH_LONG).show(); 
     //Intent a = new Intent(MainActivity.this, Dev_team.class); 
      //startActivity(a); 
    break; 
    case 1: 
     setContentView(R.layout.dev_team); 
      break; 
    default: 
     } 
    } 


@Override 
public void setTitle(CharSequence title) { 
    mTitle = title; 
    getActionBar().setTitle(mTitle); 
} 



@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 

    mDrawerToggle.syncState(); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    mDrawerToggle.onConfigurationChanged(newConfig); 
} 


/**public static class GalaxyFragment extends Fragment { 
    public static final String ARG_Galaxy_NUMBER = "Galaxy_number"; 

    public GalaxyFragment() { 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_Galaxy, container, false); 
     int i = getArguments().getInt(ARG_Galaxy_NUMBER); 
     String Galaxy = getResources().getStringArray(R.array.list_items)[i]; 

     int imageId = getResources().getIdentifier(Galaxy.toLowerCase(Locale.getDefault()), 
         "drawable", getActivity().getPackageName()); 
     ((ImageView) rootView.findViewById(R.id.image)).setImageResource(imageId); 
     getActivity().setTitle(Galaxy); 
     return rootView; 
    }**/ 
} 

그리고 여기 activity_main.xml

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<!-- The main content view --> 
<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 
<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView1" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="30dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="@string/hello_world" 
    android:textSize="18sp" /> 
</RelativeLayout> 
<!-- The navigation drawer --> 
<ListView android:id="@+id/left_drawer" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:choiceMode="singleChoice" 
    android:divider="@android:color/transparent" 
    android:dividerHeight="0dp" 
    android:background="#111"/> 
</android.support.v4.widget.DrawerLayout> 
입니다

여기에 dev.java가 있습니다.

public class dev extends MainActivity{ 
public void onCreate(Bundle savedInstanceState){ 
    setContentView(R.layout.dev_team); 
} 

} 
나는 지역 사회를 개발 앱에 아주 새로운 오전 있기 때문에 말씀 해주십시오 실종 분명 뭔가가있는 경우 363,210 파벨 두드카에 의해 제안

, 여기에 로그 캣

06-25 12:05:12.815: E/Trace(778): error opening trace file: No such file or directory (2) 
06-25 12:05:13.736: D/dalvikvm(778): GC_FOR_ALLOC freed 100K, 8% free 2668K/2888K, paused 174ms, total 182ms 
06-25 12:05:13.746: I/dalvikvm-heap(778): Grow heap (frag case) to 3.792MB for 1127536-byte allocation 
06-25 12:05:13.865: D/dalvikvm(778): GC_FOR_ALLOC freed 2K, 6% free 3767K/3992K, paused 120ms, total 120ms 
06-25 12:05:13.925: D/dalvikvm(778): GC_CONCURRENT freed 1K, 5% free 3800K/3992K, paused 12ms+12ms, total 54ms 
06-25 12:05:14.296: I/Choreographer(778): Skipped 33 frames! The application may be doing too much work on its main thread. 
06-25 12:05:14.366: D/gralloc_goldfish(778): Emulator without GPU emulation detected. 
06-25 12:05:24.766: D/AndroidRuntime(778): Shutting down VM 
06-25 12:05:24.766: W/dalvikvm(778): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 
06-25 12:05:24.786: E/AndroidRuntime(778): FATAL EXCEPTION: main 
06-25 12:05:24.786: E/AndroidRuntime(778): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.navdraw/com.example.navdraw.dev}; have you declared this activity in your AndroidManifest.xml? 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.Activity.startActivityForResult(Activity.java:3370) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.Activity.startActivityForResult(Activity.java:3331) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.Activity.startActivity(Activity.java:3566) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.Activity.startActivity(Activity.java:3534) 
06-25 12:05:24.786: E/AndroidRuntime(778): at com.example.navdraw.MainActivity$DrawerItemClickListener.onItemClick (MainActivity.java:129) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.widget.AdapterView.performItemClick(AdapterView.java:298) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.widget.AbsListView.performItemClick(AbsListView.java:1100) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2749) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.widget.AbsListView$1.run(AbsListView.java:3423) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.os.Handler.handleCallback(Handler.java:725) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.os.Handler.dispatchMessage(Handler.java:92) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.os.Looper.loop(Looper.java:137) 
06-25 12:05:24.786: E/AndroidRuntime(778): at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-25 12:05:24.786: E/AndroidRuntime(778): at java.lang.reflect.Method.invokeNative(Native Method) 
06-25 12:05:24.786: E/AndroidRuntime(778): at java.lang.reflect.Method.invoke(Method.java:511) 
06-25 12:05:24.786: E/AndroidRuntime(778): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-25 12:05:24.786: E/AndroidRuntime(778): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-25 12:05:24.786: E/AndroidRuntime(778): at dalvik.system.NativeStart.main(Native Method) 

입니다.

도움이된다면 크게 환영합니다.

당신을 감사합니다!

+0

logcat 출력은 여기에 도움이 될 것입니다 –

+0

안녕하세요, 나는 logcat 출력을 추가했습니다. 관심을 가져 주셔서 감사합니다. –

답변

2

글쎄, logcat은 Manifest 파일에 당신의 활동 (시작하려고하는 것)을 선언하지 않았다고 말합니다. 안드로이드 응용 프로그램의 모든 활동은 AndroidManifest.xml 파일에 선언해야 당신이해야 할 일은

-됩니다 매니페스트 (어딘가에서 application 태그)에 다음 섹션을 추가 : 매니페스트의

<application ...> 

    <activity 
     android:name="com.example.navdraw.dev" 
     android:label="label"/> 

</application> 

더 많은 정보에 대한 구조 파일을 찾을 수 있습니다 here

+0

많은 고마움을 전하기 위해, 저의 앱이 게임을 할 때 크레딧을 줄 것입니다. :) 죄송합니다. 15 개의 평판이 필요하기 때문에 답변을 투표 할 수 없습니다. –

+0

다른 활동에서 탐색 서랍을 유지 보수하고 있습니까? 어떻게합니까? – Maxrunner

+0

아니요 다른 활동에서 탐색 서랍을 유지하지 않습니다 ... 다른 활동을 시작하려면 MainActivity에서 필요합니다. –

관련 문제