2011-08-15 4 views
1

난 항상 안드로이드를 배우려고 노력하고있어 나는 http://developer.android.com/resources/tutorials/views/hello-tabwidget.html에 설명 된 모든 단계를 따라 이클립스왜 충돌이 발생합니까? 어떻게 디버그합니까?

를 사용하고 있지만, 때 실제로 (내 LG 혁명에 코드를 실행 이제 과거 엑스 코드를 사용했습니다 Froyo 2.2.1), 나는 부서지고있다.

디버깅하는 방법을 모르겠지만 왜 이것이 충돌할지 모릅니다. 어떤 도움을 주시면 감사하겠습니다.

나는 (내가 만든 유일한 변경 먹으 렴하지만 난 그게 충돌한다고 생각하지 않습니다) 3 개 탭에 대해 동일한 이미지를 사용 여기 내 매니페스트 파일입니다 여기에

내 코드

package com.oneorangetree.shit; 

import android.app.TabActivity; 
import android.content.Intent; 
import android.content.res.Resources; 
import android.os.Bundle; 
import android.widget.TabHost; 

public class HelloTabWidgetActivity extends TabActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     // Resource object to get drawable 
     Resources res = getResources(); 
     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 
     Intent intent; 

     intent = new Intent().setClass(this, ArtistsActivity.class); 
     spec = tabHost.newTabSpec("artists").setIndicator("Artists", res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, AlbumsActivity.class); 
     spec = tabHost.newTabSpec("albums").setIndicator("Albums", res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, SongsActivity.class); 
     spec = tabHost.newTabSpec("songs").setIndicator("Songs", res.getDrawable(R.drawable.ic_tab_artists)).setContent(intent); 
     tabHost.addTab(spec); 

     tabHost.setCurrentTab(2); 
    } 
} 

입니다

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.oneorangetree.shit" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="8" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".HelloTabWidgetActivity" 
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
</manifest> 
+3

난 당신이 몇 가지를 게시 할 때까지 아무런 답변을 얻을 것이라는 점을 보장 할 수 암호. – Peaches491

+2

충돌을 찾는 가장 좋은 방법은 LogCat을 점검하는 것입니다. 기본적으로 안드로이드 시스템 로그입니다. 'SDK/tools' 폴더의 ddms 응용 프로그램이나'Window-> Add view-> other-> LogCat'을 통해 이클립스에서 찾을 수 있습니다. 거기에 예외가 있어야합니다 (AndroidRuntime 태그가 빨간색으로 표시됨). 당신이 그것을 가지고 게시 후 코드의 적절한 조각을 추가하십시오. –

+0

내 질문에 대한 답변이 대답을 http://stackoverflow.com/questions/2209406/issues-with-android-tabhost-example – KevinDTimm

답변

1

http://code.google.com/p/android/issues/detail?id=4183의 정보를 확인하고 내 원래의 질문에 Ted에 의해 수정을 구현 - 아래의 매니페스트하지만 다른 오류도있다 :

<activity android:name=".AlbumsActivity" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar"> 
</activity> 
<activity android:name=".ArtistsActivity" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar"> 
</activity> 
<activity android:name=".SongsActivity" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar"> 
</activity> 
1

야생 추측 : 모든 활동을 매니페스트에 추가 했습니까? 하나의 활동은 매니페스트에서 한 언급과 같습니다.

프로젝트를 만들 때 기본 활동이 기본적으로이 파일에 추가되므로 시스템에서 기본 활동을 시작해도 문제가 없음을 알 수 있습니다. 당신이 다음을 클릭하여 파일의 왼쪽 여백을 클릭하여 일부 중단 점을 추가하는 것이 아닌 경우

<activity android:name=".HelloTabWidget" android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar"> 

: 자, 당신은 당신의 프로젝트에서 새로운 활동을 추가 할 때마다 당신은 매니페스트에이 활동을 추가했다 디버그 버튼에. 마지막으로 디버그 퍼스펙티브를 열고 F8을 사용하여 중단 점 사이를 탐색합니다.

호프가 도움이 되었으면 좋겠다. :)

관련 문제