【发布时间】:2015-03-06 21:31:10
【问题描述】:
所以,我有我想要轻松更改的应用程序。如,我希望能够只制作 xml 文件,而根本不必更改为每个客户端定制的 java。这是一个类似信息亭的软件,不需要额外的功能,只需要信息。
我已经设置了片段,以便在单击按钮时替换片段,如下所示:
@Override
public void onClick(View v) {
MainFragment fragment = new MainFragment();
layoutId = R.layout.fragment_ad;
fragment.setLayoutId(layoutId);
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.top_main, fragment);
transaction.addToBackStack(null);
transaction.commit();
}
layoutId 是我在 MainFragment 类中创建的一个变量,它让它知道在调用 transaction.replace() 时要转到哪个 xml 文件。
这是来自 xml 的 sn-p:
<Button
android:layout_width="0px"
android:layout_height="fill_parent"
android:text="New Button"
android:id="@+id/button3"
android:layout_weight="2.75"
android:onClick="onClick"
android:tag="R.layout/fragment_ad"
/ >
现在我想做的是,我不想将 layoutId 设置为 R.layout.fragment_ad,而是将其替换为 v.getTag() 指向的内容。但是,v.getTag() 是一个对象,可以转换为字符串、int 或其他一些东西,但不能用于从 R 中获取布局信息。
有没有办法可以使用 android:tag 的内容并让它获取标签文本指向的布局 id?不过,我并不固执地使用标签,所以如果有人提出更好的解决方案,我会全力以赴。
【问题讨论】:
标签: java android xml android-fragments