2015-01-19 2 views
0

아래 코드는 내 코드이고, 실행할 때마다 ........코드를 실행할 때 내 앱이 충돌합니다. 오류 : "android.support.v4.widget.Drawerlayout에 android.support.v4.widget.Drawerlayout에 캐스팅 될 수 없습니다."

는 내가있는 ListView에 문자열의 목록을 넣어 노력하고있어,하지만 난 할 때마다 나는 오류 메시지가 얻을 :

치명적인 예외 : 없음 주요 활동 ComponentInfo {com.ss.website/com.ss을 시작합니다. website.MainActivity} : java.lang.ClassCastException가 : android.widget.SlidingDrawer가 android.app.ActivityThread.performLaunchActivity에서 android.support.v4.widget.DrawerLayout 캐스트 할 수없는 (ActivityThread.java:2338)

미리 감사드립니다.

package com.ss.website; 


import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.ArrayAdapter; 
import android.widget.LinearLayout; 
import android.widget.ListView; 

public class MainActivity extends ActionBarActivity { 

    private DrawerLayout drawer; 
    private ListView listview; 
    private String[] planets; 
    private LinearLayout linearLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     drawer = (DrawerLayout) findViewById(R.id.slidingDrawer1); 
     planets=getResources().getStringArray(R.array.planets); 
     linearLayout = (LinearLayout)findViewById(R.id.content); 
     listview= (ListView) findViewById(R.id.listView1); 


     listview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, planets)); 

    } 


} 
+0

'R.layout.activity_main.xml'을이 티켓에 추가해야하지만'SlidingDrawer'를'Drawer = .. '로 시작하는 줄의'DrawerLayout'으로 잘못 캐스팅하려는 것 같습니다. 이라고 밝혔다. 'R.id.slidingDrawer1'이 접근하려는 올바른 식별자인지 확인하십시오. – cjohn

+0

답장을 보내 주셔서 감사합니다 cjohn,하지만 내가 이해하지 못하는 것은 "당신에게 R.layout.activity_main.xml을이 티켓에 추가"한다는 것입니다. setContentView (R.layout.activity_main)의 일부를 의미합니까 ??? –

+0

오, 신경 쓰지 마라. 네가 의미하는 바를 이해하고 일하게 만들었다. 정말 고마워 !!! –

답변

0

단순함 그대로 : DrawerLayout은 SlidingDrawer의 하위 클래스도 아니고 수퍼 클래스도 아닙니다.

+0

아, 당연히 DrawerLayout이 SlidingDrawer의 표시라고 생각했습니다. HEAPS에 감사드립니다. –

관련 문제