Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
SharedPreferences share=getSharedPreferences("save",MODE_WORLD_READABLE);
SharedPreferences.Editor editor=share.edit();
editor.clear();
editor.putString("fileName", SaveDialog.file_name);
editor.putInt("total", listStr.size());
Log.i("XML", "listStr.size="+listStr.size());
for(int i=0;i<listStr.size();i++)
{
editor.putString("sentence"+i,listStr.get(i));
}
editor.commit();
sdialog.dismiss();
Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show();
listStr.clear();
msg.what=0;
SaveDialog.isSave=0;
Log.i("XML", "SaveDialog.isSave="+SaveDialog.isSave);
break;
default:break;
}
super.handleMessage(msg);
}
};
class myThread implements Runnable {
public void run() {
while (true) {
Message message = new Message();
if(SaveDialog.isSave==1)
{
Log.e("XML", "SaveDialog.isSave="+SaveDialog.isSave);
message.what = SaveDialog.isSave;
Sentences.this.myHandler.sendMessage(message);
}
SaveDialog.isSave=0;
try {
Thread.sleep(500);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
}Handler
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
SharedPreferences share=getSharedPreferences("save",MODE_WORLD_READABLE);
SharedPreferences.Editor editor=share.edit();
editor.clear();
editor.putString("fileName", SaveDialog.file_name);
editor.putInt("total", listStr.size());
Log.i("XML", "listStr.size="+listStr.size());
for(int i=0;i<listStr.size();i++)
{
editor.putString("sentence"+i,listStr.get(i));
}
editor.commit();
sdialog.dismiss();
Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show();
listStr.clear();
msg.what=0;
SaveDialog.isSave=0;
Log.i("XML", "SaveDialog.isSave="+SaveDialog.isSave);
break;
default:break;
}
super.handleMessage(msg);
}
};
class myThread implements Runnable {
public void run() {
while (true) {
Message message = new Message();
if(SaveDialog.isSave==1)
{
Log.e("XML", "SaveDialog.isSave="+SaveDialog.isSave);
message.what = SaveDialog.isSave;
Sentences.this.myHandler.sendMessage(message);
}
SaveDialog.isSave=0;
try {
Thread.sleep(500);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
}Handler
解决方案 »
- 运行工程出现了Your project contains error(s),please fix them before running your applic
- 有谁帮我看看下面的代码。。。为什么我创建表的时候都不能创建啊。。。。
- LinerLayout中怎样让一个控件放到屏幕的右下方
- Android 打卡机系统,拍照持续时间太长,怎么解决()
- 为什么EditText得不到输入的字符串?
- Eclipse 中项目属性不可以设置成islibrary
- 急救!!!
- android avd error in ubuntu(32) i nedd help
- android 左右 选中的按钮
- 求助!导入项目出现:Error:Illegal character in opaque part at index 2
- ExpandableListView 数据更新与界面刷新的同步问题
- 怎么写一个动态的TabHost
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
ViewHolder holder = (ViewHolder) v.getTag();
holder.cb.toggle();// 在每次获取点击的item时改变checkbox的状态
MyAdapter.isSelected.put(position, holder.cb.isChecked());
if (holder.cb.isChecked() == true) {
listStr.add(list.get(position).get("item_tv").toString());
} else {
listStr.remove(list.get(position).get("item_tv").toString());
}
Log.e("XML", "listStr.size="+listStr.size());
}
msg.what=0;
SaveDialog.isSave=0;
如果有线程没有结束,或同时有多个线程,可能会造成上面几个值被清除,线程应当做一些处理