很难尝试和说出这个问题,但我会尽我所能。Android膨胀视图
基本上,我有一个应用程序,我想分开代码更多。试图解释这一点,会给我一个屏幕的例子。
在我的主屏幕中,我有一个标题,用户详细信息,余额,下一个帐单详细信息和使用详细信息。我想将这些部分分成各自的视图。因此,我在我的主XML文件是我有5个不同的RelativeLayouts,这样
<RelativeLayout android:orientation="vertical"
android:layout_below="@+id/title" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/layout1">
</RelativeLayout>
一个,因为我希望有我的主屏幕上的各项功能。正如你所看到的,我也将每个布局设置在以前的布局下面,所以顺序是title,layout1,layout2,layout3,layout4。 (我这样做的原因是,我希望每个布局是可互换的,即我可以删除layout2,然后命令title,layout1,layout3,layout4,因为我可能不需要第二个布局,取决于所需的应用程序)
所以在我的主要活动类中,我调用了这些布局中的每一个。
layoutTitle = (RelativeLayout) findViewById(R.id.title);
layout1 = (RelativeLayout) findViewById(R.id.layout1);
layout2 = (RelativeLayout) findViewById(R.id.layout2);
layout3 = (RelativeLayout) findViewById(R.id.layout3);
layout4 = (RelativeLayout) findViewById(R.id.layout4);
然后我用布局充气像这样
View view;
LayoutInflater inflater = (LayoutInflater) getBaseContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.userdata, null);
设置为我在XML文件中定义每个布局的布局。
我想知道的是,是否可以膨胀另一个活动而不是XML文件?我问这个问题的原因是,我说主屏幕的每个功能都是由标题,用户详细信息,平衡等组成的,我为每个功能都有一个活动。这些函数中的每一个都具有我设计的自定义功能,比如动画等。如果我简单地膨胀这些xml文件,那么我不能访问里面的小部件,所以我不能从Java设置功能,这是我需要的。
如果我能够膨胀另一个活动,那么这不会是一个问题,因为我会为活动中的每个函数设置功能,然后只是夸大该类。
我希望我的问题很清楚,如果不是我可以在任何你不确定的地方展开。
将非常感谢您的任何帮助!
编辑:如果它是不可能膨胀一个类,那么是否有任何其他方式的方法,你可以建议,可以解决我的问题?
+1对于片段建议。通过添加兼容性库,您可以使用1.6或更高版本的Fragments:http://developer.android.com/sdk/compatibility-library.html – elevine
是的,我知道,我真的需要研究Fragment框架,这可能会使我的应用程序更易于管理和重构。好吧。 – Guillaume
Fragments +1。似乎是这个问题的理想选择。 – kaspermoerch