views:

427

answers:

1

PROBLEM SOLVED!!

I just found my mistakes, after looking through the debugger over and over again, but anyway, thanks everyone!!

Hi there, I am very new to Android and was working through some tutorials. Now I got stuck at the Tab tutorial. The code seems to be fine at first glance as I am not getting any errors, but when I try to run the app on the emulator it always crashes and I get an "application stopped unexpectedly" error message.

I already tried what was said in the discussion about the tab layout problem, but the changes I made didn't help with the error. If someone can help me with that, that would absolutely great. If you would like to see the code, just tell me if I should post or send it.

Thank u in advance.

This is my code for the Manifest.xml file because I am not sure, if I have done something wrong there:

   <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.mobilevideoeditor.moved"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
           <activity android:name=".GalleryView" 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 android:name=".ShareGalleryView" android:label="@string/app_name"
                      android:theme="@android:style/Theme.NoTitleBar"> </activity> 
                      <activity android:name=".EditGalleryView" android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar"> </activity>  
        </activity>
    </application>
</manifest> 

This is the GalleryView.java file:

package com.mobilevideoeditor.moved;

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

public class GalleryView extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    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;  // Reusable 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, EditGalleryView.class);

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

        // Do the same for the other tabs
        intent = new Intent().setClass(this, ShareGalleryView.class);
        spec = tabHost.newTabSpec("share").setIndicator("Share",
                          res.getDrawable(R.drawable.ic_tab_share))
                          .setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(0);
    }
}

Here is the code for the main.xml:

<?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>

The code for the EditGalleryView.java and the ShareGalleryView.java:

package com.mobilevideoeditor.moved;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;


public class ShareGalleryView extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView textview = new TextView(this);
        textview.setText("This is the Share tab!");
        setContentView(textview);
    }
}

And finally the code for the ic_tab_share.xml and the ic_tab_edit.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"&gt;
    <!-- When selected, use ic_tab_share (grey icon) -->
    <item android:drawable="@drawable/ic_tab_share"
          android:state_selected="true" />
    <!-- When not selected, use ic_tab_share_unselected (white icon)-->
    <item android:drawable="@drawable/ic_tab_share_unselected" />
</selector>

Thanks again :)

+1  A: 

I had a similar problem when I first tried the Tab Layout Tutorial from official developer's site.

Since you are getting the 'force close' error on running the application it would be most probably due to not adding the activities in AndroidManifest.xml file.

primalpop
I already added the activities to the AndroidManifest.xml, I wrote my first post after I had tried this and I still got the 'force close' error.
kivy
If you dont mind post your code(java code + AndroidManifest.xml).
primalpop
I don't mind :) will add the entire code now :)
kivy