package com.flysnow.intent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
/**
* Intents测试列表类
* @author 飞雪无情
* @since 2011-3-14
*/
public class IntentsTestList extends ListActivity {
private String ACTION_VIEW="com.flysnow.intent.ACTION_VIEW";
private String CATEGORY_MAN="com.flysnow.intent.CATEGORY_MAN";
private String CATEGORY_SHOP="com.flysnow.intent.CATEGORY_SHOP";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//定义ListAdapter
setListAdapter(new SimpleAdapter(this, getData(),
android.R.layout.simple_list_item_1, new String[] { "title" },new int[] {android.R.id.text1}));
getListView().setTextFilterEnabled(true);
filter.addCategory(CATEGORY_MAN);
//注册一个广播
super.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "该Broadcast的Intent Filter设置了Category和Action", Toast.LENGTH_SHORT).show();
}
},filter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent=(Intent)getData().get(position).get("intent");
Boolean isActivity=(Boolean)getData().get(position).get("isActivity");
if(isActivity){
startActivity(intent);
}else{
sendBroadcast(intent);
}
}
/**
* 返回ListView需要的数据
* @return ListView需要的数据
*/
private List<Map<String,Object>> getData() {
List<Map<String,Object>> data=new ArrayList<Map<String,Object>>();
addItem(data, "1个Category检测-Activity", new Intent(ACTION_VIEW).addCategory(CATEGORY_MAN),true);
addItem(data, "1个Category检测-Broadcast", new Intent(ACTION_VIEW).addCategory(CATEGORY_MAN),false);
addItem(data, "2个Category检测-Activity", new Intent(ACTION_VIEW).addCategory(CATEGORY_MAN).addCategory(CATEGORY_SHOP),true);
return data;
}
/**
* 给ListView添加数据
* @param data 存储数据的List
* @param name 要显示的Title
* @param intent 单击某一项时要启动的Activity
* @param isActivity 启动的是否是Activity,true是,false为广播
*/
private void addItem(List<Map<String,Object>> data, String name, Intent intent,boolean isActivity) {
Map<String, Object> temp = new HashMap<String, Object>();
temp.put("title", name);
temp.put("intent", intent);
temp.put("isActivity", isActivity);
data.add(temp);
}
private IntentFilter filter=new IntentFilter(ACTION_VIEW);
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Intents.rar (26个子文件)
Intents
bin
classes.dex 6KB
com
flysnow
intent
R$layout.class 394B
CategoryActivity.class 838B
R$drawable.class 400B
R$attr.class 340B
Category2Activity.class 841B
R.class 489B
IntentsTestList$1.class 1019B
IntentsTestList.class 4KB
R$string.class 427B
Intents.apk 15KB
resources.ap_ 10KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 192B
drawable-mdpi
icon.png 3KB
layout
main.xml 382B
assets
default.properties 362B
gen
com
flysnow
intent
R.java 640B
proguard.cfg 1KB
src
com
flysnow
intent
IntentsTestList.java 3KB
Category2Activity.java 549B
CategoryActivity.java 548B
.project 843B
.classpath 280B
AndroidManifest.xml 2KB
共 26 条
- 1
资源评论
- zy46186fk2013-05-15可以运行很好啊
「已注销」
- 粉丝: 63
- 资源: 45
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功