开发者

Android Tab Layout Help

I am working on the Andriod Tab Layout App to get use to the andriod programing. I know there are alot of questions about this tutorial but i havent seem to be able to find what is wrong. Below is is the code i have. Also how do i get the error logs? -- i notice thats what all the posts ask for. I am running it on an andriod phone and my IDE is eclipse. It compiles fine but when i run it I get a black screen with a force close box. Thanks in advance!

My main java file:

    package greg.tab;

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

public class tab extends TabActivity {
     /** Called when the activity is first created. */

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)    
        intent = new Intent().setClass(this, ArtistsActivity.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                res.getDrawable(R.drawable.ic_tab_artists))
                .setContent(intent);
        tabHost.addTab(spec); 

        //Create an indent
        intent = new Intent().setClass(this, SongActivity.class);
        //Initialize

        spec = tabHost.newTabSpec("albums").setIndicator("Albums", res.getDrawable(R.drawable.ic_tab_artists))
        .setContent(intent);
        tabHost.addTab(spec);


        //Create an indent
        intent = new Intent().setClass(this, AlbumActivity.class);
        //Initialize

        spec = tabHost.newTabSpec("songs").setIndicator("Songs", res.getDrawable(R.drawable.ic_tab_artists))
        .setContent(intent);
        tabHost.addTab(spec);
        tabHost.setCurrentTab(2);     
    }

    public class ArtistsActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView textview = new TextView(this);
            textview.setText("This is The Artists tab");
            setContentView(textview);
        }
    }

    public class AlbumActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView textview = new TextView(this);
            textview.setText("This is The Album tab");
            setContentView(textview);
        }
    }
    public class SongActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView textview = new TextView(this);
            textview.setText("This is The song tab");
            setContentView(textview);
        }
    }
}

--My XML manifest

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="greg.tab"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".tab"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

<activity android:name=".ArtistsActivity"
android:label ="@string/app_name">
</activity>
<activity android:name=".AlbumActivity"
android:label ="@string/app_name"></activity>
<activity android:name=".SongActivity"
android:label ="@string/app_name">
</activity>
    </application>


</manifest>

--my xml file made for my image selector (i just used a regular XML file--i hope this is right) --also i use this for all tabs

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">   
 <!-- When selected, use grey -->   
  <item android:drawable="@drawable/ic_tab_artists_grey" 
           android:state_selected="true" />   
            <!-- When not selected, use white-->   
             <item android:drawable="@drawable/ic_tab_arti开发者_如何学Pythonsts_white" />
             </selector>

--My Main XML file

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"  
android:id="@android:id/tabhost" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent">
<LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
        <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp" />
        </LinearLayout>
        </TabHost>

Again any help is appreciated!

Thanks.


Try this link how to use logcat

For the force close :check you resources(layout+drawables),id you are giving in xml and id you are using in your code. clean you project and run it hope this help!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜