2017-12-12 6 views
-4

"Full" code.Android SDK의 다른 클래스에서 활동을 읽지 않습니다.

DisplayMessageActivity 클래스는 MainActivity 클래스의 의도를 통해 EXTRA_MESSAGE 문자열 (상수)을 읽어야한다고 생각합니다.

그렇지만 copy-and-pasting the code from Google/Android's own tutorial에도 불구하고 그렇게하지는 않습니다.

Android SDK는 'EXTRA_MESSAGE'및 'textView'와 같은 기호는 해결할 수 없다고 말합니다. 이 문제를 해결하는 방법에 대한 아이디어 - 미래에 대해 어떻게 생각합니까??

여기는 "video screenshot" of the SDK입니다.

+1

사람들이 내 질문을 더 잘 작성하는 방법을 알 수 있도록 * 이유를 * downvoting하기 시작합니까? 나는 당신이 나에게 무엇이 잘못되었는지 말하지 않으면 도움을 줄 수 없다. ... –

+1

다음 번에 코드 세부 사항이나 스냅 샷을 추가 할지라도 코드 등으로 설명하는 것이 좋다. 당신은 배우고 있습니다 (우리도 그렇듯이) 그래서 언젠가는 회원이 서로 다른 견해를 가질 수 있습니다. 그래서 그것을 받아들이고, 구글을 사용하고, 비판을 피하고 언젠가는 당신이 아무런 설명없이 다운 보트를 보는 경향이 있습니다. –

답변

3

당신은 당신이 static 일정

String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

로 MainActivity에 액세스 할 수 있습니다 DisplayMessageActivity 그렇게

public static final String EXTRA_MESSAGE = "extra_message"; 

것과 같은 MainActivity에서 그 상수를 정의 할 필요가

public class MainActivity extends AppCompatActivity { 

    public static final String EXTRA_MESSAGE = "extra_message"; 
    // static : accessed by class name 
    // final : value cannot be changed 

    /** Called when the user taps the Send button */ 
    public void sendMessage(View view) { 
     // Do something in response to button 
     Intent intent = new Intent(this, DisplayMessageActivity.class); 
     EditText editText = (EditText) findViewById(R.id.editText); 
     String message = editText.getText().toString(); 
     intent.putExtra(EXTRA_MESSAGE, message); 
     startActivity(intent); 
    } 

} 

DisplayMessageActivity

public class DisplayMessageActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     //..code  
     String message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE); 
     //..code  
    } 
} 
+0

나는 내 것을 멸종 시켰다고 생각합니다. alt + Enter 함수로 상수 정의. 이것을 지적 해 주셔서 감사합니다. 이제는 textView 기호가 무엇인지 알아야합니다 ... –

+1

@AaronBell 저는 도움이 될 수있어서 기쁘다. 늦게 회신 해 주셔서 사과 드리며, textview에 관해서는 어떤 일을 따라 잡으 셨습니다. 올바른 id와 레이아웃이 있는지 확인하십시오. 성공적인 빌드가 완료되면 letme은 여전히 ​​문제가 있음을 알게됩니다. –

1

당신은 전역 변수를

public static final String EXTRA_MESSAGE = "Message"; 
intent.putExtra(EXTRA_MESSAGE,value); 

을 정의 할 수 있으며

String getMessage= intent.getStringExtra(YourActivity.EXTRA_MESSAGE); 

그게 부산물 기타 활동에 그것을 얻을 수 있습니다.