• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps Error in tabwidget wit listview

iUngi

Lurker
Oct 30, 2010
2
0
Hi,

I have a problem with the listview in the tabwidget.
My source is the following:

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 androidrientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent"
androidadding="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"
androidadding="5dp">
<ListView android:id="@+id/all_devices"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_centerHorizontal="true"></ListView>
<ListView android:id="@+id/fav_devices"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_centerHorizontal="true">
</ListView>
</FrameLayout>
</LinearLayout>
</TabHost>

main.java:
package iUngi.iKey;

import java.util.ArrayList;
import java.util.Arrays;

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

public class iBlueKey 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("all_devices").setIndicator("Al l visible devices",
res.getDrawable(R.drawable.m_all))
.setContent(intent);

tabHost.addTab(spec);

// Do the same for the other tabs
intent = new Intent().setClass(this, AlbumsActivity.class);
spec = tabHost.newTabSpec("fav_devices").setIndicator("Fa vorite devices",
res.getDrawable(R.drawable.m_fav))
.setContent(intent);
tabHost.addTab(spec);

tabHost.setCurrentTab(0);

}
}


I tray to add a listview to the first tab, but I get a runtime error.

package iUngi.iKey;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import iUngi.iKey.R;

public class AlbumsActivity extends Activity {
static final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra"};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.fav_list);

ListView list = (ListView)findViewById(R.id.all_devices);
ArrayAdapter adapter =
new ArrayAdapter(this, R.layout.list_layout, COUNTRIES);
list.setAdapter(adapter);

registerForContextMenu(list);
}

}

list_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
androidadding="10dp"
android:textSize="16sp" >
</TextView>

If you have any suggestion or idea please share with me.
Thanks.
 

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones