标签:
承接上一篇,
接下来介绍点击 Send 按钮后的操作。
1. res/layout 目录下。打开 activity_my.xml
2. 在<Button> 元素里面,添加属性 android:onClick
res/layout/activity_my.xml
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />3. 在com.oscar999.helloworld 包下, 打开MainActivity.java 文件(这是我的本地java 包及类名)
在这个类中,添加 sendMessage() 方法, 类似:
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
// Do something in response to button
}这个方法的定义要求如下:- 必须是 public 的
- void 的返回值
- View 作为其唯一的参数
Intent 是一个提供两个独立组件运行时组合(类似两个 activities)。
1. sendMessage 方法内容添加如下:
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
}导入Intent 类import android.content.Intent;
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
}Intent 可以通过键值对的方式传递值。3. 在 java 中 添加 EXTRA_MESSAGE 的定义
public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.oscar999.helloworld.MESSAGE";完整代码如下:
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
所有的Activity 的子类都必须继承 onCreate() 方法。 这个方法就是活动接收含有message 的intent, 然后呈现这个message. onCreate()方法必须使用 setContentView()方法定义活动布局。这也是活动开始设置活动组件的地方。
创建步骤:
1. New --> Android --> Android Activity
2. 选择Blank Activity, 进入如下页面
3. 以上部分输入:
Activity Name: DisplayMessageActivity
Layout Name: activity_display_message
Tiltle: My Message
Hierarchical Parent: com.oscar999.helloworld.MainActivity
点击完成
4. 打开 DisplayMessageActivity.java
这个文件有三个方法
onCreate() -- 这里会更新的方法
onOptionsItemsSelected() -> 处理操作栏向上行为的
onCreateOptionsMenu() -> 暂时用不到, 移除
5. 以上创建activity 的动作,除了新增Java 文件外, 还修改了:
strings.xml
AndroidManifest.xml,
这里和Android 4 产生的稍微有一些差异(路径)
修改 onCreate() 方法, 让这个activity 显示的是从 MainActivity 传过来的Message , 修改后的代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
setContentView(textView);
/*if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}*/
}版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/oscar999/article/details/46678701