是否可以确定从活动发回的数据是String还是String []?

时间:2013-03-14 22:23:31

标签: java android android-intent android-activity

我正在从activityForResult()发起MainActivity。根据用户在SecondActivity中选择的选项,它会返回StringString[]。在MainActivity我覆盖onActivityResult(),但我如何首先测试返回的数据,看看它是String还是String[],以便我可以相应地处理它?<​​/ p >

这就是我处理数组的方式:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub

                    String[] result =data.getStringArrayExtra("elements");
                    et.setText("");
                    for(int i=0;i<result.length;i++){
                        et.append(result[i].toString());
            }
            }

3 个答案:

答案 0 :(得分:9)

为什么不总是从String[]返回SecondActivity?如果只有一个String,只需返回一个String [],其中包含String个{{1}}。这似乎是错误的设计,以返回具有相同键的两种不同类型的对象...

答案 1 :(得分:1)

我会把它们放在不同的键中。 类似于element Stringelements String[]

String[] result =data.getStringArrayExtra("elements");
if(result == null)
   String strResult = data.getStringExtra("element");

我也支持史蒂文所说的话。但是不知道你的应用程序的设计以及你这样做的原因,所以你必须做出选择。

答案 2 :(得分:0)

你几乎这样做了......只需检查

if(result != null)
   // it is array