2014-11-07 1 views
0

나는 문자열 데이터 타입을 다른 활동으로 옮기는 활동을 가지고있다. 다른 활동은 그 문자열을 사용하고 문자열을 반환하는 다른 클래스의 메소드를 호출한다. 이 메서드를 사용하여 현재 활동에 문자열을 표시하려고합니다.다른 클래스의 메서드를 호출하는 활동을 시작하는 방법은 무엇입니까?

시각적으로 보면 (활동 1) - 문자열 -> (활동 2)입니다. 액티비티 2는 해당 문자열을 사용하여 몇 개의 버튼과 함께 화면에 표시하려는 유형 문자열을 반환하는 다른 Java 클래스의 메서드를 호출합니다.

그래서 일부 의사 코드 :

다른 자바 클래스의 메소드는 말한다 :

public static String getStringexample(String n) { 
return "hello" + " " + n; 
} 

내 활동 클래스는 다음과 같습니다

public class manage extends Activity { 
    protected void onCreate(bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContainerView(R.layout.activity_manage); 

     Intent intent = getIntent(); 
     String example = intent.getExtras().getString("intentid"); 

나는이 후 잃었어요. . 내가 자바 코드의 화면에 표시 할 의도에서 얻은 것을 사용하는 방법을 알지 못합니다.

Intent i = new Intent(this, SecondActivity.class); 
startActivityForResult(i, 1); 

그런 다음 코드

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

if (requestCode == 1) { 
    if(resultCode == RESULT_OK){ 
     String result=data.getStringExtra("result"); 
    } 
    if (resultCode == RESULT_CANCELED) { 
     //Write your code if there's no result 
    } 
} 
} 

답변

0

이하로 사용하여 당신은 결과를 얻을 것이다 첫 번째 활동에서 두 번째 활동

Intent returnIntent = new Intent(); 
returnIntent.putExtra("result",yourdata); 
setResult(RESULT_OK,returnIntent); 
finish(); 

에서 첫 번째 활동으로 돌아가로

0

당신은 활동을 시작할 수 있습니다 활동 간 정보는 '엑스트라'로 전달됩니다. 그것은 단지 문자열 키와 값의 모음입니다.

양쪽 모두 동일한 키를 사용해야하므로 대상 활동에 필요한 키를 사용하여 정적 최종 문자열을 정의하십시오.

그런 다음 키를 사용하여 여분의 값을 읽고 거기에서 이동합니다

Intent intent = new Intent(this, DestinationActivity.class); 
intent.putExtra(DestinationActivity.EXTRA_N, "foo"); 
startActivity(intent); 

행운

+0

나는 '돈 :

public class DestinationActivity extends Activity { // let your callers know how to pass you the information you need public static final String EXTRA_N = "n"; private TextView resultText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_destination); resultText = (TextView) findViewById(R.id.resultText); // get the information you was passed Intent intent = getIntent(); String n = intent.getStringExtra(EXTRA_N); // do your transformation using the other class String example = DifferentClass.getStringexample(n); // display the transformed string resultText.setText(example); } // ... } 

호출 활동이이 같은 정보를 전송 첫 번째 활동으로 돌아가고 싶지 않습니다. 두 번째 활동에서 java 메서드를 사용하여 문자열을 표시하고 싶지만 새로운 활동에 몇 가지 다른 사항을 추가하고 싶습니다. – user125535

관련 문제