2014-11-03 3 views
1



이 코드에서 firstname과 middlename을 다른 활동으로 보내려고합니다. 그러나 문제는 아무 단추도 클릭하지 않고이 두 값을 다음 활동으로 보내려고한다는 것입니다.

이 활동에서 보내기 버튼을 클릭하면 다음 활동으로 데이터를 전달해야하지만 화면은 다음 활동으로 이동하면 안됩니다.

이제 다른 클래스 파일에서이 두 값을 액세스하려고합니다.다음 활동 이동 없음 android의 다른 활동에서 데이터 보내기

아무도 도와 줄 수 있습니까?

당신은 모든 상수 또는 임시 데이터에 대한 클래스를 생성하고 다른 클래스에서 이러한 자격 증명에 액세스 할 수 있도록 그에게 UR 사용자 이름과 암호 값을 지정할 수 있습니다

Send.setOnClickListener(new OnClickListener() {    
      public void onClick(View v) 
      { 
       String first_name = fname1.getText().toString(); 
       String middle_name = mname1.getText().toString(); 
} 
     }); 
+0

http://developer.android.com/training/basics/data-storage/shared-preferences.html 그래서 당신은 다른 클래스에서 그 자격 증명에 액세스 할 수 있습니다 : D –

+0

당신은 저에게 몇 가지 예를 들어주세요. – user

답변

1

당신은 SQLite, Shared Preferences와이를 달성하거나 단지로와 새 공용 클래스를 만들 수 있습니다 실행 static 개의 변수가 있습니다. 새로운 클래스를 만듭니다

public class Global { 
    public static String first_name = ""; 
    public static String middle_name = ""; 
} 
이 코드를 변경

:

Send.setOnClickListener(new OnClickListener() {    
      public void onClick(View v) 
      { 
       Global.first_name = fname1.getText().toString(); 
       Global.middle_name = mname1.getText().toString(); 
} 
     }); 
+0

안녕하세요, 안전을 위해 Global.class – user

+0

@user yes에서 모든 값을 null로 초기화합니다. 내 코드를 업데이트했습니다. –

+0

전역 클래스 firstname 다른 클래스에서 액세스 할 수없는 final – user

1

클래스

public class Constants 
{ 

    public static String F_Name = "fName"; 

    public static String M_Name = "mName"; 
} 

으로 값을 할당 한 다음 값을

String FName = fname.getText().toString(); 
String MName = mname.getText().toString(); 
    Constants.F_Name = FName; 
    Constants.M_Name = MName; 
(210)

한 다음 그 값 앱까지 설정됩니다

if (FirstName.equals(Constants.F_Name){ 
} 

같은 다른 클래스에서 그 값을 가져

+0

값이 동적이라는 것을 가정 해 주시겠습니까? – user

+0

String first_name = fname1.getText(). toString();을 사용하여 언제든지 값을 가져올 수 있습니다. 이 값을 COnstant.FName = fname1에 할당하십시오. Constants.FName –

+0

@user를 사용하여 클래스에서이 fname을 얻을 수 있지만 sharedPrefs도 사용할 수 있지만 앱을 종료 한 후에도 해당 값을 다른 값으로 바꿀 때까지 저장됩니다. 초기화 할 수 있습니다. 임의의 문자열 또는 간단한 문자열 F_Name이있는 전역 값; –

1

사용 SharedPreferences을 키와 값 쌍을 저장합니다. 앱이 포 그라운드에 있지 않더라도 응용 프로그램 전체에서 사용할 수 있습니다. 당신은이 example을 확인할 수 있습니다. 희망은 당신의 솔루션을 해결하는 데 도움이됩니다.

1

첫 번째 옵션 :

Intent i=new Intent(context,SOMECLASSNAME.class); 
i.putExtra("first_name", fname1.getText().toString()); 
i.putExtra("name", mname1.getText().toString()); 
context.startActivity(i); 

두 번째 옵션 : 당신은 공유 사용 환경 설정 당신은 모든 상수 또는 임시 데이터에 대한 클래스를 생성하고 UR 사용자 이름과 암호 값을 지정할 수 있습니다

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
editor.putString("first_name", fname1.getText().toString()); 
editor.putString("second_name", mname1.getText().toString()); 
editor.commit(); 
+0

인 텐트를 사용하면 다음 활동으로 넘어갑니다. – user