当前位置:  编程技术>移动开发
本页文章导读:
    ▪Broadcast的运用        Broadcast的使用 1.发送方: private final static String SCROLL_TO_POSITION = "scroll_to_position"; //发送Broadcast Intent intent = new Intent(); intent.putExtra("POSITION", position); intent.setAction(SCROLL_TO_POSITION); myCon.........
    ▪ 运行时起动/禁用组件        运行时启动/禁用组件 public void setMyReceiverEnabled(boolean enabled) { MyLog.d("enabled = " + enabled); PackageManager packageManager = getPackageManager(); ComponentName componentName = new ComponentName(this, MyReceiver.class); .........
    ▪ 说说ListView为什么会重复显示的有关问题       说说ListView为什么会重复显示的问题 个人理解,android 出于对性能的考虑,对 listview 中的控件进行了重复利用,他只缓存了屏幕可见范围内的数据。当你滚动listview的时候,原来的Item被隐藏.........

[1]Broadcast的运用
    来源: 互联网  发布时间: 2014-02-18
Broadcast的使用

1.发送方:

private final static String SCROLL_TO_POSITION = "scroll_to_position";

//发送Broadcast
Intent intent = new Intent();
				
intent.putExtra("POSITION", position);
				
intent.setAction(SCROLL_TO_POSITION);
				
myContext.sendBroadcast(intent);

 2.接收方:

private final static String SCROLL_TO_POSITION = "scroll_to_position";
	
private BroadcastReceiverForListView myBroadcastReceiverForListView;	


//注册监听

@Override
	public void onCreate()
	{
		super.onCreate();
		
		
                IntentFilter intentFilter = new IntentFilter();
		
		intentFilter.addAction(SCROLL_TO_POSITION);

               myBroadcastReceiverForListView = new BroadcastReceiverForListView();

               this.registerReceiver(myBroadcastReceiverForListView, intentFilter);
        }

//取消监听
@Override
	public void onDestroy()
	{
		super.onDestroy();
		
		this.unregisterReceiver(myBroadcastReceiverForListView);
	}


//定义一个内部类实现对SCROLL_TO_POSITION消息的接收和处理
	private class BroadcastReceiverForListView extends BroadcastReceiver
	{

		@Override
		public void onReceive(Context context, Intent intent)
		{
			
			String action = intent.getAction();
			
			int position = intent.getIntExtra("POSITION", -1);
			
			if(action.equals(SCROLL_TO_POSITION) && position != -1)
			{
				System.out.println("哥接收到SCROLL_TO_POSITION通知啦!");
				
//				lvOfCallLogs.scrollTo(position, position);
				
				lvOfCallLogs.setSelection(position);
			}
			
		}
    }

    
[2] 运行时起动/禁用组件
    来源: 互联网  发布时间: 2014-02-18
运行时启动/禁用组件

	public void setMyReceiverEnabled(boolean enabled) {
		MyLog.d("enabled = " + enabled);
		PackageManager packageManager = getPackageManager();
		ComponentName componentName = new ComponentName(this, MyReceiver.class);
		int newState = enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
		packageManager.setComponentEnabledSetting(componentName, newState, PackageManager.DONT_KILL_APP);
	}
 

    
[3] 说说ListView为什么会重复显示的有关问题
    来源: 互联网  发布时间: 2014-02-18
说说ListView为什么会重复显示的问题

个人理解,android 出于对性能的考虑,对 listview 中的控件进行了重复利用,他只缓存了屏幕可见范围内的数据。当你滚动listview的时候,原来的Item被隐藏起来了,但是他的组件仍然被利用。所以,你会看到之前出于选中状态的Item会重复出现的问题。

那么我们应该怎么做呢?

假设listview中的某一项被选中了。其中的某个子view变为了VISIBLE。当你滚动listview的时候,要确保的是组件在初始化的时候需要回到他的初始状态。即,让这个变为VISIBLE的子view,在绑定数据之前,回到原来的GONE的状态。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现将已发送的短信写入短信数据库的... iis7站长之家
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3