Java 基于xml标记动态更改android中的onClick
所以,我有我的应用程序,我想很容易改变。与中一样,我希望能够只生成xml文件,而不必修改java,为每个客户机定制。这是为一个类似信息亭的软件设计的,它不需要太多额外的功能,只需要信息 我将其设置为片段,以便在单击按钮时替换片段,如下所示: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;
@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"