Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 根据JSON数据移动到多个活动_Android - Fatal编程技术网

Android 根据JSON数据移动到多个活动

Android 根据JSON数据移动到多个活动,android,Android,我有一些JSON数据- { "ActivityOrder":[ { "Position":3, "ActivityName":"Activity1" }, { "Position":5, "ActivityName":"Activity2" }, { "Position":2, "ActivityName":"Activity3" }, { "Position":1, "ActivityName":"Activity4" }, { "Position":4, "ActivityName":"Ac

我有一些JSON数据-

{
"ActivityOrder":[
{
"Position":3,
"ActivityName":"Activity1"
},
{
"Position":5,
"ActivityName":"Activity2"
},
{
"Position":2,
"ActivityName":"Activity3"
},
{
"Position":1,
"ActivityName":"Activity4"
},
{
"Position":4,
"ActivityName":"Activity5"
}
]
}
根据上面的JSON数据,从单个活动或类调用Intent。我的意思是首先调用位置1活动(活动4),然后调用位置2活动3,依此类推


注意:-在JSON数据中,可以从后端更改活动位置。

一旦获得活动名称,请按如下方式创建类:

Class activity= Class.forName("yourActivityName");
然后创建意图:

Intent intent = new Intent(this, activity);

创建pojo模型类:

public class MyPojo {

    String  ActivityName;
    int  Position;

    public MyPojo(String activityName, int position) {
        ActivityName = activityName;
        Position = position;
    }

    public int getPosition() {
        return Position;
    }

    public void setPosition(int position) {
        Position = position;
    }

    public String getActivityName() {
        return ActivityName;
    }

    public void setActivityName(String activityName) {
        ActivityName = activityName;
    }
}
现在将json解析为模型:

List<MyPojo> MyPojoList=new ArrayList<>();

    try {

            JSONObject jObj = new JSONObject("your json response");
            JSONArray jArr = jObj.getJSONArray("ActivityOrder");
            for (int i=0; i < jArr.length(); i++) {
                 JSONObject obj = jArr.getJSONObject(i);
                 String Position = jObj.getString("Position");
                 String ActivityName = jObj.getString("ActivityName");
                 MyPojoList.add(new MyPojo(ActivityName,Position));
            }

        }
        catch(JSONException ex) {
            ex.printStackTrace();
        }

解析json并存储在pojo模型中。然后,按位置排序的模型keyis活动名称将从backend@DivyeshPatel-位置键可能已更改…@AbhinavGupta-名称未更改,但activityName的位置将更改
Collections.sort(MyPojoList, new Comparator<MyPojo>(){
            public int compare(MyPojo obj1, MyPojo obj2) {
                return Integer.valueOf(obj1.getPosition()).compareTo(Integer.valueOf(obj2.getPosition()));
            }
        });
Intent intent=new Intent();
        intent.setComponent(new ComponentName(getApplicationContext(), MyPojoList.get(position).getActivityName()));
        try {
            startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }