展会信息港展会大全

android Intent (初步进入intent)
来源:互联网   发布日期:2016-01-14 09:28:33   浏览:1095次  

导读:在一个项目之中,会由多个Activity程序所组成,那么此时,这多个Activity程序之间就需要进行通讯,而这之间的通讯就依靠Intent完成。Activity程序支持的Intent操...

在一个项目之中,会由多个Activity程序所组成,那么此时,这多个Activity程序之间就需要进行通讯,而这之间的通讯就依靠Intent完成。

Activity程序支持的Intent操作方法

No.

方法

类型

描述

1

public void startActivity(Intent intent)

普通

启动一个Activity,并通过Intent传送数据

2

public void startActivityForResult(Intent intent, int requestCode)

普通

启动并接收另一个Activity程序回传数据,当requestCode大于0才可以触发onActivityResult()

3

public Intent getIntent()

普通

返回启动当前Activity程序的Intent

4

protected void onActivityResult(int requestCode, int resultCode, Intent data)

普通

当需要接收Intent回传数据的时候覆写此方法对回传操作进行处理

5

public void finish()

普通

调用此方法会返回之前的Activity程序,并自动调用onActivityResult()方法

6

public final Cursor managedQuery (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)

普通

处理返回的Cursor结果集

XML配置文件盒JAVA文件如下组件垂直摆放

android:layout_width="fill_parent"? 布局管理器宽度为屏幕宽度

android:layout_height="fill_parent">? 布局管理器高度为屏幕高度

? 默认显示文字

? 组件高度为文字高度

public class Send extends Activity {

private Button mybut = null ;// 按钮组件

private TextView msg = null ;// 文本组件

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.send_main);// 默认布局管理器

this.mybut = (Button) super.findViewById(R.id.mybut) ; // 取得组件

this.msg = (TextView) super.findViewById(R.id.msg) ; // 取得组件

this.mybut.setOnClickListener(new OnClickListenerImpl()); // 定义单击事件

}

private class OnClickListenerImpl implements OnClickListener {

@Override

public void onClick(View view) {

Intent it = new Intent(Send.this, Receive.class); // 实例化Intent

it.putExtra("myinfo", "我打算打算打算打算的水电费") ; // 附加信息

Send.this.startActivityForResult(it, 1);// 启动Activity

}

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

switch (resultCode) {// 判断操作类型

case RESULT_OK:// 成功操作

msg.setText("返回的内容是:" + data.getStringExtra("retmsg"));

break;

case RESULT_CANCELED:// 取消操作

msg.setText("操作取消。");

break ;

default:

break;

}

}

}

? 此布局管理器高度为屏幕高度

? 组件高度为文字高度

? 默认显示文字

public class Receive extends Activity {

private TextView show = null ;// 文本显示组件

private Button retbut = null ;// 按钮组件

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.receive_main); // 调用默认布局管理器

this.show = (TextView) super.findViewById(R.id.show) ;// 取得组件

this.retbut = (Button) super.findViewById(R.id.retbut) ;// 取得组件

Intent it = super.getIntent() ;// 取得启动此程序的Intent

String info = it.getStringExtra("myinfo") ; // 取得设置的附加信息

this.show.setText(info) ;// 设置文本显示信息

this.retbut.setOnClickListener(new OnClickListenerImpl()) ; // 设置监听

}

private class OnClickListenerImpl implements OnClickListener {

@Override

public void onClick(View view) {

Receive.this.getIntent().putExtra("retmsg", "哈哈哈") ;// 返回信息

// 设置返回数据的状态,RESULT_OK与Send.java中的onActivityResult()里判断的对应

Receive.this.setResult(RESULT_OK, Receive.this.getIntent()) ;

Receive.this.finish() ;// 结束Intent

}

}

}

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港