Java 基于xml标记动态更改android中的onClick

Java 基于xml标记动态更改android中的onClick,java,android,xml,android-fragments,Java,Android,Xml,Android Fragments,所以,我有我的应用程序,我想很容易改变。与中一样,我希望能够只生成xml文件,而不必修改java,为每个客户机定制。这是为一个类似信息亭的软件设计的,它不需要太多额外的功能,只需要信息 我将其设置为片段,以便在单击按钮时替换片段,如下所示: @Override public void onClick(View v) { MainFragment fragment = new MainFragment(); layoutId = R.layout.fragment_ad;

所以,我有我的应用程序,我想很容易改变。与中一样,我希望能够只生成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中的一个片段:

<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?不过,我并不固执于使用标签,因此如果有人提出更好的解决方案,我会洗耳恭听。

我想你需要的是

其中,
表示活动。和xml格式:

android:tag="fragment_ad"
但是这种获取标识符的方法非常慢

android:tag="fragment_ad"