关于我的代码的细节很少:
我得到一个JSONObject
,然后我从中获取字符串并使用字段"name"
,我在{{buttons
创建fields
json
1}}。
现在,问题是我想要为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"
(或者是说)。
我有什么方法可以实际做到这一点,或者这是不可能的?
注意:我在互联网上找不到这样的东西,我对此的想法是不可能的,但在继续之前我想要更多的意见。
答案 0 :(得分:1)
就像我们在评论中所说的那样,动态创建活动将无法正常工作,因为您无法在运行时修改AndroidManifest.xml。相反,这个问题非常适合Fragments。
你可以使用标准的Activity而不是FragmentActivity,但here's是我认为你不应该使用的原因。然后,您只需将其用作根活动,并在onClicks中以编程方式添加片段:
FragmentManager fragMan = getFragmentManager();
FragmentTransaction fragTransaction = fragMan.beginTransaction();
Fragment fragment = new ImageFragment();
fragTransaction.add(R.id.fragment_container, fragment);
fragTransaction.commit();
对所有这些内容都有很好的指导here。