标签:
承接上一篇,
接下来介绍点击 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