动态添加活动

时间:2015-05-26 18:33:27

标签: android android-activity

关于我的代码的细节很少:

我得到一个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"(或者是说)。

我有什么方法可以实际做到这一点,或者这是不可能的?

注意:我在互联网上找不到这样的东西,我对此的想法是不可能的,但在继续之前我想要更多的意见。

1 个答案:

答案 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