Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 水平滚动视图子项不可见_Android_Cocos2d X_Horizontalscrollview - Fatal编程技术网

Android 水平滚动视图子项不可见

Android 水平滚动视图子项不可见,android,cocos2d-x,horizontalscrollview,Android,Cocos2d X,Horizontalscrollview,我有一个水平滚动视图,在say MainMenuActivity中有一个线性布局,我用3个按钮填充它。让我们称之为State1 A B C 单击其中一个按钮-->可从线性布局中删除这些按钮,并将其他3个自定义视图添加到同一线性布局中。让我们称之为State2 E F G 单击任意一个E F G将启动另一个活动。为了从状态1转到状态2,我为每个EFG膨胀视图,并将这些视图添加到LinearLayout 我的问题:回到主菜单活

我有一个水平滚动视图,在say MainMenuActivity中有一个线性布局,我用3个按钮填充它。让我们称之为State1

A         B           C
单击其中一个按钮-->可从线性布局中删除这些按钮,并将其他3个自定义视图添加到同一线性布局中。让我们称之为State2

E         F          G
单击任意一个E F G将启动另一个活动。为了从状态1转到状态2,我为每个EFG膨胀视图,并将这些视图添加到LinearLayout

我的问题:回到主菜单活动后,我希望ScrollView显示EFG。由于其他原因,它没有显示EFG(我使用Cocos2dx)。它显示一个B C

当从任何活动返回主菜单时,我可以为状态2膨胀视图,但视图在屏幕上不可见。LinearLayout应有3个子对象,但它们不可见。事实上,整个线性布局是不可见的

它第一次工作(从ABC到EFG)。但这已经不是我第二次直接到达EFG州了

我的水平滚动视图如下所示

<HorizontalScrollView
      android:id="@+id/mainHZScrollView"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1" 
      android:clipChildren="true"
      android:scrollbars="none"
      android:background="@android:color/black">

      <LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="horizontal"
         android:isScrollContainer="true"
          android:layout_gravity="center_vertical"
          android:id="@+id/scrollInnerLayout"
          android:background="@android:color/white">

      </LinearLayout>

  </HorizontalScrollView>

这就是我如何为efg填充滚动视图

private void fillScrollViewWithRoomList(ArrayList<HashMap<String, String>> roomArr){
    Log.d("MainAct",  "fillScrollViewWithRoomList: "+roomArr.toString());

    HorizontalScrollView mainMenuScroll = (HorizontalScrollView) findViewById(R.id.mainHZScrollView);
    LinearLayout scrollInnerLayout = (LinearLayout) mainMenuScroll.findViewById(R.id.scrollInnerLayout);

     //Remove Existing Contents
    scrollInnerLayout.removeAllViews();

    for (int i = 0; i < roomArr.size(); i++) {
        Log.d("MainAct",  "fillScrollViewWithRoomList  For Loop ");

        View roomView = View.inflate(this, R.layout.room_view, null);

        /*
         * Get contents from ArrayList and 
         * Fill roomView TextViews Here 
         */             

        scrollInnerLayout.addView(roomView);
    }

    int inScrollChildCnt = scrollInnerLayout.getChildCount();
    Log.d("MainAct",  "inScrollChildCnt  "+ inScrollChildCnt);
    Log.d("MainAct",  "fillScrollViewWithRoomList Complete");
private void fillScrollViewWithRoomList(ArrayList roomArr){
Log.d(“MainAct”,“fillScrollViewWithRoomList:+roomArr.toString());
HorizontalScrollView主菜单滚动=(HorizontalScrollView)findViewById(R.id.mainHZScrollView);
LinearLayout scrollInnerLayout=(LinearLayout)主菜单滚动.findViewById(R.id.scrollInnerLayout);
//删除现有内容
scrollInnerLayout.removeAllViews();
对于(int i=0;i
}


在onResume()中,我检查在ScrollView中显示什么。roomArr的数据来自服务器。从onResume()发送的请求。我在handler和display中解析它。所以一切都是在UI线程上完成的。roomArr打印所有值,inScrollChildCnt=3,这是roomArr的计数。

将android:fillViewport=“true”添加到水平滚动视图中。不工作。返回活动后,您使用哪种方法绘制视图?简历?重新启动?请把代码贴出来