0

我有几个布局:的Android重用布局包括问题

loading.xml 
reload.xml 
noresult.xml 

这些的LinearLayout和RelativeLayout的

我在其他布局如下使用它们:

<include 
    android:id="@+id/loading" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    layout="@layout/loading" 
    android:visibility="gone" /> 

<include 
    android:id="@+id/reload" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    layout="@layout/reload" 
    android:visibility="gone" /> 

<include 
    android:id="@+id/noresult" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    layout="@layout/noresult" 
    android:visibility="gone" /> 

问题是当我创建了一个通用布局,其中包括这些在几个片段中使用它(lik e在一个viewpager例如)

当我点击reload布局的重载按钮,在列表中。它用第一个数据重新载入另一个列表。

视图ID有问题吗?

我可以在不同的布局中重复使用相同的include包含不同的包含id,但在include中包含相同的重载按钮id,它是否可以创建id冲突? (这是同样的问题,我认为)

编辑1:

代码用于添加片段:

getSherlockActivity().getSupportFragmentManager() 
             .beginTransaction() 
             .setCustomAnimations(R.anim.slide_in_bottom, R.anim.slide_out_top, R.anim.slide_in_top, R.anim.slide_out_bottom) 
             .add(R.id.fragment_a, fragmentClassA1) 
             .addToBackStack(TAG_A1) 
             .commit(); 

回答

0

你有布局本身之前选择组布局:

findViewById(R.id.loading).findViewById(android.R.id.list); 
+1

这就是我正在做的。我甚至试图让组布局可点击,同样的结果:/ – 2014-10-16 10:37:55

+0

好吧,我想我误解了你。它是另一个片段的Lis​​tView,当你点击一个时更新?你可以发布代码,通知更改到适配器以及将适配器设置到ListView的位置吗? – Benoit 2014-10-16 13:32:11

+0

有两个片段(a和b)添加到viewpager中,每个片段都有一个listview。如果我在片段(a)中选择一个单元格,它会在if之上弹出一个片段(a1)。比方说,我在没有互联网连接的两个根分支(a和b)中这样做,它会为每个根片段弹出一个包含视图“重新加载”的片段(a1和b1)。现在我重新连接互联网,然后点击a1中的重新加载,它会在b1中调用onclick(),并用a1的数据更新b1 – 2014-10-16 14:46:34