372
Bearbeitungen
(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"> |