各位大大好,我碰到一个问题 就是 onItemSelectd中 写了一点查询代码 然后我本意是想在
查询之前弹出信息提示框,然后 查询完成之后 关闭提示框 ,但是出现的效果和我预想的不一样(onItemSelected 结束之后才弹出框并马上结束掉弹出框了.相当于没弹出一样的效果,之后我把关闭代码去掉之后的效果就是事件结束才弹出提示框)。这个问题纠结了我一晚上了。各位大大有没有好的解决办法呢,小弟在这里诚恳请求能给个思路,谢谢了
查询之前弹出信息提示框,然后 查询完成之后 关闭提示框 ,但是出现的效果和我预想的不一样(onItemSelected 结束之后才弹出框并马上结束掉弹出框了.相当于没弹出一样的效果,之后我把关闭代码去掉之后的效果就是事件结束才弹出提示框)。这个问题纠结了我一晚上了。各位大大有没有好的解决办法呢,小弟在这里诚恳请求能给个思路,谢谢了
解决方案 »
- android应用运行崩溃!谁能帮我看一下。
- Android应用安装覆盖问题
- scrollview内嵌一个左右滑动button的问题
- 谁有编译过的Android2.2的源码?可以发给我吗,不胜感激
- httpget获取字符串失败,请大神帮忙看一下。
- Canvas.drawText 怎么输出是空心字?
- Android webview(4.1.X)连续加载几次url报 Fatal signal 11 (SIGSEGV)
- 求教一个关于ViewPager优化的问题
- busybox 手动安装问题~
- 小白求助Android Studio无法创建AVD并提示An error occurred while creating the AVD. See idea.l
- 物理导航键
- search bar点击消失
楼主试试吧!
可以在弹出对话框内比如确定键按下内处理查询.或用activity弹出信息提示框,可以使用startActivityForResult调用,重写onActivityResult继续查询。
用Handler传递消息message,并在handMessage中接收消息并处理
long arg3) {
//m_ProgressDialog = new ProgressDialog(this);
ParamCollection pc = null;
String[] realValue = null;
ArrayAdapter carDropListInfo = null;
String valueList = "";
String key = "";
// TODO Auto-generated method stub
String adapterViewKey = arg0.getContentDescription().toString();
if (arg1 instanceof TextView) {
key = ((TextView) arg1).getText().toString();
}
//此处之前是 弹出 提示框
try {
if (adapterViewKey == "CarBrand") {
if (key.length() > 0) {
// m_Baseinfoview
pc = new ParamCollection("P_BrandSerialModelBaseData_Query");
Carseries carseries = new Carseries();
pc.Add("BaseDataType", "车辆系列");
pc.Add("PointCode", LoginInfo.PointCode);
pc.Add("CarBrand", key);
valueList = GeneralWebServicesAccess.getInstance().GetData(
"GetStringDropListValue", pc.GetXml());
realValue = carseries.Analysisxml(valueList);
carDropListInfo = new ArrayAdapter<String>(m_Baseinfoview,
android.R.layout.simple_spinner_item, realValue);
// 绑定车辆型号
((Spinner) m_Baseinfoview.findViewById(R.id.series))
.setAdapter(carDropListInfo);
((Spinner) m_Baseinfoview.findViewById(R.id.series))
.setTag(key);
}
} else if (adapterViewKey == "CarSerial") {
pc = new ParamCollection("P_BrandSerialModelBaseData_Query");
CarModelBean carModelBean = new CarModelBean();
pc.Add("BaseDataType", "车辆型号");
pc.Add("PointCode", LoginInfo.PointCode);
pc.Add("CarBrand", arg0.getTag().toString());
pc.Add("CarSerial", key);
valueList = GeneralWebServicesAccess.getInstance().GetData(
"GetStringDropListValue", pc.GetXml());
realValue = carModelBean.Analysisxml(valueList);
carDropListInfo = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, realValue);
// 绑定车辆型号
((Spinner) m_Baseinfoview.findViewById(R.id.carsmodelspinner))
.setAdapter(carDropListInfo);
}
} catch (Exception e) {
// TODO: handle exception
} finally {
//此处之前是 关闭 提示框
}
}
//我写了一个窗口 当你须要打开窗口的时候调用 关闭窗口的时候 监听按键
public void createDialog() {
AlertDialog.Builder builder = new Builder(mContext);
builder.setMessage("弹出一个对话框");
builder.setTitle("对话框标题");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//在这里添加点击确定后逻辑
dialog.dismiss();
}
});
builder.create().show();
}
Handler m_Handler= new Handler(){
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch(msg.what){
case -1:
if(m_ProgressDialog!=null)
m_ProgressDialog.dismiss();
break;
case 0:
carDropListInfo = new ArrayAdapter<String>(m_Baseinfoview,
android.R.layout.simple_spinner_item, realValue);
// 绑定车辆型号
((Spinner) m_Baseinfoview.findViewById(R.id.series))
.setAdapter(carDropListInfo);
((Spinner) m_Baseinfoview.findViewById(R.id.series))
.setTag(key);
break;
case 1:
carDropListInfo = new ArrayAdapter<String>(m_Baseinfoview,
android.R.layout.simple_spinner_item, realValue);
// 绑定车辆型号
((Spinner) m_Baseinfoview.findViewById(R.id.carsmodelspinner))
.setAdapter(carDropListInfo);
break;
case 100:
if(m_ProgressDialog!= null)
m_ProgressDialog.show();
break;
}
}
};
ParamCollection pc = null;
String[] realValue = null;
ArrayAdapter carDropListInfo = null;
String valueList = "";
String key = "";
String adapterViewKey = "";
String Tag = "";
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
adapterViewKey = arg0.getContentDescription().toString();
if(arg0!=null && arg0.getTag() != null)
Tag = arg0.getTag().toString();
if (arg1 instanceof TextView) {
key = ((TextView) arg1).getText().toString();
}
m_ProgressDialog = new ProgressDialog(this);
m_ProgressDialog.setTitle("查询数据");
m_ProgressDialog.setMessage("正在查询内容项......");
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub try {
if (adapterViewKey == "CarBrand") {
if (key.length() > 0) {
// m_Baseinfoview
pc = new ParamCollection("P_BrandSerialModelBaseData_Query");
Carseries carseries = new Carseries();
pc.Add("BaseDataType", "车辆系列");
pc.Add("PointCode", LoginInfo.PointCode);
pc.Add("CarBrand", key);
valueList = GeneralWebServicesAccess.getInstance().GetData(
"GetStringDropListValue", pc.GetXml());
realValue = carseries.Analysisxml(valueList);
m_Handler.sendEmptyMessage(0);
}
} else if (adapterViewKey == "CarSerial") {
m_Handler.sendEmptyMessage(100);
pc = new ParamCollection("P_BrandSerialModelBaseData_Query");
CarModelBean carModelBean = new CarModelBean();
pc.Add("BaseDataType", "车辆型号");
pc.Add("PointCode", LoginInfo.PointCode);
pc.Add("CarBrand",Tag );
pc.Add("CarSerial", key);
valueList = GeneralWebServicesAccess.getInstance().GetData(
"GetStringDropListValue", pc.GetXml());
realValue = carModelBean.Analysisxml(valueList);
m_Handler.sendEmptyMessage(1);
}
} catch (Exception e) {
// TODO: handle exception
} finally {
m_Handler.sendEmptyMessage(-1);
}
}
}).start(); }