【发布时间】:2015-05-26 18:33:26
【问题描述】:
关于我的代码的一些细节:
我得到一个JSONObject,然后我从中获取字符串并使用字段"name",我创建的buttons 与fields 中的fields 一样多。
现在,我也想为buttons 添加功能,但我不确定它是否会以这种方式工作。
请检查我的代码,我会评论我卡在哪里。
for(int i=0; i<arr.length();i++){
JSONObject oneObject = arr.getJSONObject(i);
id = oneObject.getString("Id");
nume = oneObject.getString("Nume");
Button btn = new Button(context);
btn.setId(i);
btn.setText(nume);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//STUCK HERE!
}
});
ll.addView(btn);
}
所以,对于每个button,我想创建一个新的活动,所以一个新的intent,因为每个button 都需要一个新的"screen"(或者可以这么说)。
有什么方法可以让我真正做到这一点,或者这是不可能的?
注意:我在互联网上找不到类似的东西,我的想法是这是不可能的,但在我继续之前我想要更多的意见。
【问题讨论】:
-
Activity 与 AndoidManifest.xml 文件相关联,不是吗?恕我直言,这看起来像是一个典型的 Fragment 可解决问题。
-
是的,它们确实是 AndroidManifset 绑定的。无论如何,据我所知,这是不可能的。无论如何你会如何处理片段?我也使用过片段,我非常怀疑它会根据需要为每个片段创建一个新的 xml 布局和一个新的 java 类...
-
好吧,你只需要一个通用的 Fragment 类,它通过它的构造函数接收一些变量。您不需要为每个班级开设一个新班级。除非您可以发送一些 json 来区分样式,否则它将始终具有相同的布局,但这不是问题 - 您可以在创建 Fragment 时为其加载不同的样式。
-
这意味着我的 mainactivity 将实现 Fragment,对吗?这样我就可以进行过渡...?
-
不,你应该让它扩展 FragmentActivity 以便它可以容纳 Fragment。然后,您可以使用转换来动态添加/删除片段,让用户看起来就像您正在更改 Activity。