2015-02-06 2 views
0

이 에러가이 에러를AndrioStudio의 expandablelistview 오류는 무엇을 의미합니까? 가상 메소드를 호출 시도 'java.lang.CharSequence 로이드 :

java.lang.NullPointerException이이다}

public class MainActivity extends ListActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // storing string resources into Array 
    String[] adobe_products = getResources().getStringArray(R.array.Events); 

    // Binding resources Array to ListAdapter 
    this.setListAdapter(new ArrayAdapter<>(this, R.layout.list_data, R.id.label, adobe_products)); 

    ListView lv = getListView(); 

    // listening to single list item on click 
    lv.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
      // In the following line "v" refers to the View returned by the `getView()` method; meaning the clicked View. 
      TextView txtName = (TextView) v.findViewById(R.id.product_label); 
      String name; 
      name = txtName.getText().toString(); 
      switch (name) { 
       case "Sports": 
        Intent intent; 
        intent = new Intent(MainActivity.this, Sports.class); 
        startActivity(intent); 
        break; 

       case "Lunch": 
        Intent intent1; 
        intent1 = new Intent(MainActivity.this, Lunch.class); 
        startActivity(intent1); 
        break; 

       case "contacts": 
        Intent intent2; 
        intent2 = new Intent(MainActivity.this, Contacts.class); 
        startActivity(intent2); 
        break; 
      } 

     } 
    }); 

} 

발생 주요 활동은 .widget.TextView.getText() 'null 객체 참조에 com.example.trobinson.fblaproject.MainActivity $ 1.onItemClick (MainActivity.java:38) android.widget.AdapterView.performItemClick (AdapterView.java:300)) android에서 .widget.AbsListView.performItemClick (AbsListView.java:1143) android.widget.AbsListView $ PerformClick.run (AbsListView.java:3044) android.widget.AbsListView $ 3.run (AbsListView.java:3833) at android.os.Handler.handleCallback (Handler.java:739) android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:135) 에서 android. app.ActivityThread.main (ActivityThread.java:5221) at java.lang.reflect.Method.invoke (기본 메소드) at java.lang.reflect.Method.invoke (Method.java:372) 에서 com.android .internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:694)) 02-06 09 : 52 : 44.609 938-962 /? E/gralloc_goldfish : gralloc_alloc : 불일치 사용 플래그 : 576 x 576, 사용량 333 02-06 09 : 52 : 44.609 938-962 /? E/: GraphicBufferAlloc :: createGraphicBuffer (w = 576, h = 576), handle = 0x0 02-06 09 : 52 : 44.624 1249-1280/system_process E/BufferQueueProducer : [ScreenshotClient] dequeueBuffer : createGraphicBuffer 실패 02-06 09 : 52 : 44.629 1249-1280/system_process E/ActivityManager : 잘못된 미리보기 이미지 크기 : 576x576 02-06 10 : 12 : 01.500 2233-2233 /? E/memtrack : memtrack 모듈을로드 할 수 없습니다 (해당 파일 또는 디렉토리 없음) 02-06 10 : 12 : 01.500 2233-2233 /? E/android.os.Debug : memtrack 모듈로드 실패 : -2 02-06 10 : 12 : 01.963 2243-2243 /? E/libprocessgroup : make/chct/acct/uid_10054 : 읽기 전용 파일 시스템 02-06 10 : 12 : 08.952 2243-2243/com.example.trobinson.fblaproject E/AndroidRuntime : 치명적인 예외 : 주 프로세스 : com.example.trobinson.fblaproject, PID : 2243

우리는 무엇을해야할지 잘 모릅니다.

+3

예외 발생 위치와 전체 오류 설명에 대한 알맞은 코드 샘플을 제공해주십시오.우리가 무엇을 잘못했는지 결정하는 것은 매우 어렵습니다. – arnfada

+1

태그가 맞는지 확인하려면 제목에 Android studio에서 eclipse – tim687

+0

이 표시됩니다. java.lang.NullPointerException <--- 일부 변수 또는 UI 요소가 초기화되지 않았습니다. 변수가 있고 초기화하는 것을 잊어 버린 경우와 비슷합니다. "int p;" – Paul

답변

0
ListView lv = getListView(); 

나는 그것을 알아 냈다. "getListView"실제로 목록보기를 초기화하지 않습니다.

+0

어떻게 초기화할까요? –

+0

우리에게 당신의 getListView() 보여주기 -하지만 정상적인 초기화는 변수가 무엇인지 정의하는 것이다. 귀하의 경우 목록보기. 구문은 다음과 같습니다. lv = (listview) findviewbyid (r.id.yourlistviewname); – Paul

+0

우리는 getListView()를 찾았지만 찾을 수 없었다. 어쩌면 지금 문제 일 수도 있습니다. –

0

어댑터에서 배열 내용을 R.id.label으로 매핑하지만 onClick()에서 R.id.product_label을 찾고 있습니다. 이것이 같은 레이아웃에 있다면, 당신은 null-pointered를 사용해서는 안되지만 실제로는 다른 레이아웃에 있다고 생각합니다.

던지는 줄이 실제로 name = txtName.getText().toString(); 인 경우 NullPointerException을 던질 수있는 것은 txtNametxtName.getText()입니다. 38 번째 줄에 중단 점을 설정하십시오. txtNamenull입니다. 찾고있는 id이 찾고있는 뷰에 없습니다. txtNamenull이 아닌 경우 txtName의 텍스트가 설정되지 않습니다.

+0

그 코드는 38 행에 있지만 문제는 아니 었습니다 : name = txtName.getText(). toString(); –