来自Fragment的startActivityForResult和来自Activity的startActivityForResult之间的区别

时间:2016-04-01 12:16:55

标签: android android-fragments android-intent

我是Fragment的新手。 实际上我在Fragment的startActivityForResult中遇到了问题。

我从MyFragment.java开始调用

点击活动:txtLocationMarker.setOnClickListener(this);

@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.txtLocationMarker:
                nextIntent = new Intent(mActivity, GetFromLocationActivity.class);
                getActivity().startActivityForResult(nextIntent, 1);
                break;
            default:
                break;
        }
    }

我宣布

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1) {
        //Do Something
    }
}

从GetFromLocationActivity.java返回意图

点击活动:点击活动:btnSetToLocation.setOnClickListener(this);

  @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btnSetToLocation:
                    setResult(1, new Intent());
                    finish();
                    break;
                default:
                    break;
            }
        }

但我没有得到{结果onActivityResult()方法。 请尽快回复。谢谢!

4 个答案:

答案 0 :(得分:0)

使用这个简单的冒泡排序

String[] mOutput=new String[mStringName.length];
    for(int i=0;i<mStringIndex.length;i++)
          {
            int index=mStringIndex[i];
            mOutput[i]=mStringName[index];
          }

答案 1 :(得分:-1)

以下是示例:

public class Test
    {
    public static void main(String[] arr)
        {
        String[] mStringName = { "Hardik", "Moin", "Sadik", "Manoj" };
        int[] mStringIndex = { 2, 0, 1, 3 };
        String[] mOutput=new String[mStringName.length];
        for(int i=0;i<mStringIndex.length;i++)
          {
            int index=mStringIndex[i];
            mOutput[i]=mStringName[index];
          }
          for(int i=0;i<mOutput.length;i++)
          {
          System.out.println(mOutput[i]);
          }
        }
    }

答案 2 :(得分:-1)

复制粘贴,它应该工作:)

String[] mStringName = { "Hardik", "Moin", "Sadik", "Manoj" };
int[] mStringIndex = { 2, 0, 1, 3 };
String[] sortedString = new String[mStringIndex.length];
for(int i : mStringIndex){
    sortedString[i] = mStringName[mStringIndex[i]];
}

快乐编码:)希望我的回答有帮助:)

答案 3 :(得分:-1)

这是一种获得正确输出的方法

String[] mStringName = { "Hardik", "Moin", "Sadik", "Manoj" };
int[] mStringIndex = { 2, 0, 1, 3 };
String[] outPutArray = new String[mStringName.length];
for(int i=0;i<mStringIndex.length;i++){

    int index=mStringIndex[i];
    outPutArray[i]=mStringName[index];

}

for(int j=0;j<outPutArray.length;j++){

    System.out.println("SampleController.main() =="+outPutArray[j]);

}