2011-12-25 2 views
1

그러나 탭 응용 프로그램을 만들려고하는데 응용 프로그램을 실행하려고 할 때 문제가 발견되고 기본 클래스가 TabActivity를 확장합니다.android에서 TabActivity가 작동하지 않습니다.

package org.practical.newsupdate; 

import android.app.Activity; 
import android.app.TabActivity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.TabHost; 
import android.widget.TabHost.TabSpec; 

public class NewsPage extends TabActivity{ 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.newspage); 

    TabHost host = (TabHost) findViewById(R.id.tabhost); 
    host.setup(); 

    new Intent().setClass(this, LocalNews.class); 
    TabSpec localTab = host.newTabSpec("Local"); 
    localTab.setIndicator(getResources().getString(R.string.local), 
    getResources().getDrawable(android.R.drawable.star_on)); 
    localTab.setContent(R.id.local_tab); 
    host.addTab(localTab); 

    new Intent().setClass(this, ForeignNews.class); 
    TabSpec foreignTab = host.newTabSpec("Foreign"); 
    foreignTab.setIndicator(getResources().getString(R.string.foreign), 
    getResources().getDrawable(android.R.drawable.star_on)); 
    foreignTab.setContent(R.id.foreign_tab); 
    host.addTab(foreignTab); 

    host.setCurrentTabByTag("Local"); 
} 
} 

XML을는 다음과 같다 :

12-25 18 : 11 :

<RelativeLayout 
    android:id="@+id/relativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:src="@drawable/newsimages" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:src="@drawable/newsimages" /> 

    <TextView 
     android:id="@+id/newspage_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="@string/menu_newspage" /> 
</RelativeLayout> 

<TabHost 
    android:id="@+id/tabhost" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 
     </TabWidget> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 

      <LinearLayout 
       android:id="@+id/local_tab" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/foreign_tab" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 
      </LinearLayout> 
     </FrameLayout> 
    </LinearLayout> 
</TabHost> 
</LinearLayout> 

로그 고양이는 다음과 같은 오류를 표시 24.846 메인 클래스의 코드는 다음과 같다 : E/AndroidRuntime (569) : 치명적인 예외 : 주 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {org.practical.newsupdate/org.practical .newsupdate.NewsPage} : java.lang .RuntimeException : 귀하의 콘텐츠에 id 속성이 'android.R.id.tabhost'인 TabHost가 있어야합니다. 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread.performLaunchActivity (ActivityThread. java : 1955) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1980) 12-25 18 : 11 : 24.846 : E/AndroidRuntime 569) : android.app.ActivityThread.access $ 600 (ActivityThread.java:122) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread $ H.handleMessage (ActivityThread.java) : 1146) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.os.Handler.dispatchMessage (Handler.java:99) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569)) : at android.os.Looper.loop (Looper.java:137) 12-25 18 : 11 : 24.846 : E/AndroidR (569) : android.app.ActivityThread.main (ActivityThread.java : 4340) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : java.lang.reflect.Method.invokeNative (네이티브 메소드) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : java.lang.reflect.Method.invoke (Method.java:511) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569)) : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : at com.android.internal.os.ZygoteInit 전자 메일 주소 : 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : at dalvik.system.NativeStart.main (기본 방법) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : 원인 : java.lang.RuntimeException : 콘텐츠의 id 속성이 'android.R.id.tabhost'인 TabHost가 있어야합니다. 12-25 18 : 11 : 24.846 : E/A ndroidRuntime (569) : android.app.TabActivity.onContentChanged (TabActivity.java:131) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : com.android.internal.policy.impl.PhoneWindow. setContentView (PhoneWindow.java:254) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.Activity.setContentView (Activity.java:1835) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : org.practical.newsupdate.NewsPage.onCreate (NewsPage.java:13) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.Activity.performCreate (Activity.java : 4465) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1919) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : ... 11 more

표시되는 오류는 응용 프로그램이 갑자기 작동을 멈췄다는 것입니다. 누군가 나를 도울 수 있습니까? 귀하의 내용이 ID 속성 'android.R.id있는 TabHost이 있어야합니다 : 어떤 도움

+0

logcat에 들어간 예외를 게시하십시오. –

+0

질문에 logcat 예외를 게시했습니다. – xarababe

답변

1

다음 줄 오류 java.lang.RuntimeException가를주고 사전에

감사합니다.tabhost '

패키지 이름이 Java 패키지 이름과 같거나 다른 패키지 이름입니까? 그렇다면 정규 R 클래스를 가져 오십시오.

+0

도움을 주셔서 대단히 감사합니다. 지금 작동합니다 – xarababe

+0

작동하는 경우 답변을 수락하십시오! –