2016-04-01 2 views
-9

Я новичок в Fragment. На самом деле я получаю проблему в startActivityForResult из Fragment.Разница между startActivityForResult from Fragment и startActivityForResult from Activity

Я начинаю Активность С MyFragment.java как

Click Event: 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

Нажмите Event : Нажмите Событие: 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() методе. Пожалуйста, ответьте как можно скорее. Благодаря!

+15

Да, это возможно. – Eran

+0

что вы попробовали? –

+0

Задайте новый вопрос. Ваш вопрос совершенно другой, чем первый. Поэтому ответы, которые у вас уже есть для вашего первого вопроса, не решают этот новый вопрос ... – kmas

ответ

0

Используйте этот простой вид пузырьков

String[] mOutput=new String[mStringName.length]; 
    for(int i=0;i<mStringIndex.length;i++) 
      { 
      int index=mStringIndex[i]; 
      mOutput[i]=mStringName[index]; 
      } 
-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]); 
      } 
     } 
    } 
-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]]; 
} 

Счастливый кодирования :) Надеюсь, что мой ответ помог :)

+2

Зачем ты это сделал? «Скопируйте это, это должно сработать :)» идет вразрез с тем, как работает этот сайт. Он ничего не сделал, чтобы узнать что-нибудь здесь. Он просто скопировал. Научите человека ловить рыбу, чувак. Научите человека ловить рыбу ... –

+0

Он узнает, в конце концов, человек :) Я знаю, что он должен попробовать самостоятельно, но он правильно занялся заданием кодирования? он будет учиться в конце концов :) в любом случае мы не будем ему помогать всю дорогу :) пусть он будет веселиться :) Извините, если я допустил какую-либо ошибку :(просто подумал о том, чтобы помочь всем этим :) –

-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]); 

}