Zum Inhalt springen

Android Training/Starting Another Activity/en: Unterschied zwischen den Versionen

Neue Version von externer Quelle importiert
(Neue Version von externer Quelle importiert)
 
(Neue Version von externer Quelle importiert)
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<languages />
<languages />
After completing the [[Spezial:MyLanguage/Android Training/Building a Simple User Interface|previous lesson]], you have an app that shows an activity (a single screen) with a text field and a button. In this lesson, you’ll add some code to<code>MyActivity</code> that starts a new activity when the user clicks the Send button.
After completing the [[Spezial:MyLanguage/Android Training/Building a Simple User Interface|previous lesson]], you have an app that shows an activity (a single screen) with a text field and a button. In this lesson, you’ll add some code to <code>MyActivity</code> that starts a new activity when the user clicks the Send button.


== Respond to the Send Button ==
== Respond to the Send Button ==
# In Android Studio, from the <code>res/layout</code> directory, edit the<code>content_my.xml</code> file.
# In Android Studio, from the <code>res/layout</code> directory, edit the <code>content_my.xml</code> file.
# Add the <code>[http://developer.android.com/reference/android/view/View.html#attr_android:onClick android:onClick]</code> attribute to the <code>[http://developer.android.com/reference/android/widget/Button.html <Button>]</code> element.
# Add the <code>[http://developer.android.com/reference/android/view/View.html#attr_android:onClick android:onClick]</code> attribute to the <code>[http://developer.android.com/reference/android/widget/Button.html <Button>]</code> element.
#: ''res/layout/content_my.xml''<syntaxhighlight lang="java">
#: ''res/layout/content_my.xml''<syntaxhighlight lang="java">
Zeile 28: Zeile 28:


== Build an Intent ==
== Build an Intent ==
# In <code>MyActivity.java</code>, inside the <code>sendMessage()</code> method, create an <code>Intent</code> to start an activity called<code>DisplayMessageActivity</code> with the following code:
# In <code>MyActivity.java</code>, inside the <code>sendMessage()</code> method, create an <code>Intent</code> to start an activity called <code>DisplayMessageActivity</code> with the following code:
#: ''java/com.mycompany.myfirstapp/MyActivity.java''<syntaxhighlight lang="java">
#: ''java/com.mycompany.myfirstapp/MyActivity.java''<syntaxhighlight lang="java">
public void sendMessage(View view) {
public void sendMessage(View view) {
Zeile 68: Zeile 68:
</syntaxhighlight>
</syntaxhighlight>
#: For the next activity to query the extra data, you should define the key for your intent's extra using a public constant. It's generally a good practice to define keys for intent extras using your app's package name as a prefix. This ensures the keys are unique, in case your app interacts with other apps.
#: For the next activity to query the extra data, you should define the key for your intent's extra using a public constant. It's generally a good practice to define keys for intent extras using your app's package name as a prefix. This ensures the keys are unique, in case your app interacts with other apps.
# In the <code>sendMessage()</code> method, to finish the intent, call the <code>startActivity()</code> method, passing it the<code>Intent</code> object created in step 1.
# In the <code>sendMessage()</code> method, to finish the intent, call the <code>startActivity()</code> method, passing it the <code>Intent</code> object created in step 1.


With this new code, the complete <code>sendMessage()</code> method that's invoked by the Send button now looks like this:
With this new code, the complete <code>sendMessage()</code> method that's invoked by the Send button now looks like this:
Zeile 145: Zeile 145:
}
}
</syntaxhighlight>
</syntaxhighlight>
#: '''Note:''' If you are using an IDE other than Android Studio, your project does not contain the<code>activity_display_message</code> layout that's requested by <code>[http://developer.android.com/reference/android/app/Activity.html#setContentView(android.view.View) setContentView()]</code>. That's OK because you will update this method later and won't be using that layout.
#: '''Note:''' If you are using an IDE other than Android Studio, your project does not contain the <code>activity_display_message</code> layout that's requested by <code>[http://developer.android.com/reference/android/app/Activity.html#setContentView(android.view.View) setContentView()]</code>. That's OK because you will update this method later and won't be using that layout.
# To your <code>strings.xml</code> file, add the new activity's title as follows:
# To your <code>strings.xml</code> file, add the new activity's title as follows:
#: <syntaxhighlight lang="xml">
#: <syntaxhighlight lang="xml">
372

Bearbeitungen

Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.