求助>_<!关于Handler更新数据的问题

我瞎说的 2014-11-16 08:41:49
做一次伸手党

楼主想要每隔一段时间更新一次数据,在网上找到了这个方法
final Handler handler = new Handler();
Runnable runnable = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
// 在此处添加执行的代码
handler.postDelayed(this, 50);// 50是延时时长
getWifis();
}
};
handler.postDelayed(runnable, 50);// 打开定时器,执行操作

楼主是在一个Activity上有一个Fragment,然后在这个Fragment再启动另外一个Activity
@Override
public void onListItemClick(ListView l,View v,int position,long id){
handler.removeCallbacks((Runnable) this);// 关闭定时器处理
Wifi c = ((WifiAdapter)getListAdapter()).getItem(position);
Log.d(TAG, c.getWifiLevel() + "was clicked");
Intent i = new Intent(getActivity(),WifiPagerActivity.class);
i.putExtra(WifiFragment.EXTRA_WIFI_ID,c.getId());
startActivity(i);
}
但是一点击运行handler.removeCallbacks((Runnable) this);这一行就出错。
去掉这一行可以正常运行,但是点击启动另一个Activity或是停留在启动的ACtivity的时候有时候会闪退- -!
而且我发现不管我回到桌面还是停留在另一个启动的Activity,这个Handle都还在运行.....

那么问题来了
1.怎么才能暂时关闭这个Handle,等我需要的时候再运行
2.我在自义定状态栏设置了一个imageButton,怎么在一个显示列表的Fragment里获取使用并设置点击触发
mNewButton = (ImageButton)getActivity().findViewById(R.layout.new_button);
我获取的时候就提示new_button cannot be resolved or is not a field


...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
我瞎说的 2014-11-16
  • 打赏
  • 举报
回复
已解决→_→ mhandler = new Handler(); mrunnable = new Runnable(){ @Override public void run() { // TODO Auto-generated method stub mhandler.postDelayed(this, 1000); getWifis(); ((WifiAdapter)getListAdapter()).notifyDataSetInvalidated(); Log.d(TAG, "was called " + i); i++; } }; mhandler.postDelayed(mrunnable,1000);// 打开定时器,执行操作 mhandler.removeCallbacks(mrunnable);// 关闭定时器处理 mNewButton = (ImageButton)getActivity().findViewById(R.id.new_button); 楼主自己秀智商了
我瞎说的 2014-11-16
  • 打赏
  • 举报
回复
我觉得闪退的原因可能是 getWifis();这个方法里我更新了列表的输出,但是我又不在显示列表的那个Fragment界面 是不是这个原因啊

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧