Switch activities using ActivityGroup in tab(Android)

In the transition between activities(using ActivityGroup in tabs) error:

04-26 08:46:04.599: ERROR/AndroidRuntime(992): java.lang.StackOverflowError
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.text.Layout.measureText(Layout.java:1601)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.text.Layout.getLineMax(Layout.java:655)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.text.Layout.draw(Layout.java:311)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.text.BoringLayout.draw(BoringLayout.java:365)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.widget.TextView.onDraw(TextView.java:4052)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.view.View.draw(View.java:6535)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
04-26 08:46:04.599: ERROR/AndroidRuntime(992): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
...

code:

    ...
private ListView _lv;
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
List cats = Category.getAllCategories(this);
_lv = (ListView)findViewById(android.R.id.list);
_lv.setAdapter(new CategoryAdapter(getBaseContext(),R.layout.list_item_layout, cats));
_lv.setOnItemClickListener(new ListClickListener());
...
}
public void replaceContentView(String id, Intent newIntent/*,int result*/) {
View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
this.setContentView(view);
}

Code is taken from here: www.gamma-point.com/content/android-how-have-multiple-activities-under-single-tab-tabactivity

My layouts:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/recipes_in_cat_list"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <LinearLayout
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:gravity="left"
   android:background="@drawable/tab_upper_bar">
   <Button
    android:id="@+id/back_to_cats_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dip"
    android:background="@drawable/android_info_button" />

    <ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:divider = "#00000000"
    android:cacheColorHint="#00000000" />

Layout for list item:

<?xml version=«1.0» encoding=«utf-8»?>
<LinearLayout
xmlns:android=«schemas.android.com/apk/res/android»
android:orientation=«horizontal»
android:layout_width=«fill_parent»
android:layout_height=«40dip»
android:layout_weight=«1»
android:padding = «10dip»
android:background ="@drawable/list_item_bg"
android:layout_centerHorizontal=«true»>
<ImageView
 android:id="@+id/recipe_list_left"
 android:layout_width=«wrap_content»
 android:layout_height=«fill_parent»
 android:src="@drawable/list_left"
 android:layout_weight=«0» />
 <TextView
  android:id="@+id/recipe_list_text"
  android:layout_width=«fill_parent»
  android:layout_height=«fill_parent»
  style = "@style/RecipeListText"
  android:layout_weight=«1»
  android:gravity=«center_horizontal» />
 <ImageView
  android:id="@+id/recipe_list_right"
  android:layout_width=«wrap_content»
  android:layout_height=«fill_parent»
  android:src="@drawable/list_right"
  android:layout_weight=«0» />

Who faced with this error? Please, help


StackOverflow exception usually implies that you are in an infinite loop and the call stack finally overflows. Can you show more of your stack trace? I had this happen today, in fact, in an activity group when onOptionsItemSelected() called it itself (inadvertently obviously)

链接地址: http://www.djcxy.com/p/60582.html

上一篇: 使用Fragments为Android中的每个选项卡单独备份堆栈

下一篇: 在选项卡(Android)中使用ActivityGroup切换活动