2014-05-13 7 views
1

탭 중 하나에서 ListView를 설정하려고하지만 setAdapter에서 오류가 발생합니다. 문제가 무엇인지 파악할 수 없으므로 안내하십시오. 여기 여기 내 코드에서 나를 인도 해주십시오 라인 (32)탭에서 ListView를 설정할 수 없습니다

05-13 04:11:54.426: E/AndroidRuntime(1137): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.brainwave.industrialtraining/in.brainwave.industrialtraining.TabView}: java.lang.NullPointerException 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.ActivityThread.access$800(ActivityThread.java:135) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.os.Handler.dispatchMessage(Handler.java:102) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.os.Looper.loop(Looper.java:136) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at java.lang.reflect.Method.invoke(Method.java:515) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at dalvik.system.NativeStart.main(Native Method) 
05-13 04:11:54.426: E/AndroidRuntime(1137): Caused by: java.lang.NullPointerException 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at in.brainwave.industrialtraining.TabView.onCreate(TabView.java:32) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.Activity.performCreate(Activity.java:5231) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
05-13 04:11:54.426: E/AndroidRuntime(1137):  ... 11 more 

이다는, setAdapter 방법에 오류가 표시되는 로그 캣 인 코드

public class TabView extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     ListView listview1 = (ListView) findViewById(R.id.list1); 
     setContentView(R.layout.tview); 
     TabHost th = (TabHost) findViewById(android.R.id.tabhost); 
     th.setup(); 
     List<String> list1strings = new ArrayList<String>(); 
     list1strings.add("Programming Language"); 
     list1strings.add("Database"); 
     list1strings.add("Java technologies"); 
     list1strings.add("Web Teechnologies"); 
     list1strings.add("Application/Web Server"); 
     list1strings.add("operating Systems"); 
     list1strings.add("PHP framework"); 
     list1strings.add("PHP CMS"); 
     listview1.setAdapter(new ArrayAdapter<String>(TabView.this, android.R.layout.simple_list_item_1, list1strings)); 


     th.addTab(th.newTabSpec("Tab1").setIndicator("Training").setContent(R.id.list1)); 

     TabSpec specs = th.newTabSpec("Tab2"); 
     specs.setContent(R.id.tab1); 
     specs.setIndicator("Workshops"); 
     th.addTab(specs); 

     specs = th.newTabSpec("Tab 3"); 
     specs.setContent(R.id.tab1); 
     specs.setIndicator("Reach Us"); 
     th.addTab(specs); 

    } 

} 

입니다. 먼저 다음 XML에서 어떤 레이아웃에 액세스하려면

+1

ListView listview1 = (ListView) findViewById (R.id.list1); setContentView (R.layout.tview); 변경 setContentView (R.layout.tview); ListView listview1 = (ListView) findViewById (R.id.list1); –

+0

위의 변경하면 –

답변

3

당신은 당신이 후

setContentView(R.layout.your_view); 

을 할 필요가 setContentView(R.layout.tview);

+0

오류가 해결되지만 내 탭에있는 목록지고 있지 않습니다. 도와 주실 수 있니? – Faye

+0

나는 그것을 풀었다. 도와 줘서 고마워요. – Faye

+0

@Shruti cool! 환영합니다! –

1

setContentView(R.layout.tview); 
ListView listview1 = (ListView) findViewById(R.id.list1); 

참조 ListView 같은 순서를 변경해야 보기에 액세스 할 수 있습니다.

ListView listview1 = (ListView) findViewById(R.id.list1); 

setContentView 전에 뷰에 액세스하면 nullPointer 예외가 발생합니다.

관련 문제