首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android新浪微博下发后,应该用什么技巧提示用户发送的情况

2013-01-18 
android新浪微博发出后,应该用什么技巧提示用户发送的情况?在做新浪微博客户端。我的设计是:点击按钮后,发

android新浪微博发出后,应该用什么技巧提示用户发送的情况?
在做新浪微博客户端。

我的设计是:
点击按钮后,发送微博:

发送微博:
android新浪微博下发后,应该用什么技巧提示用户发送的情况

嗯,微博发送成功。



然后希望可以知道自己是否有发送成功,我加了一个Toast,所以变成了这样:
android新浪微博下发后,应该用什么技巧提示用户发送的情况

Total并没有显示。软件也报错了。
但是微博还是发送成功的。


01-11 21:44:05.100: W/dalvikvm(4232): threadid=11: thread exiting with uncaught exception (group=0x410ae9d8)
01-11 21:44:05.100: E/AndroidRuntime(4232): FATAL EXCEPTION: Thread-4114
01-11 21:44:05.100: E/AndroidRuntime(4232): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
01-11 21:44:05.100: E/AndroidRuntime(4232): at android.os.Handler.<init>(Handler.java:121)
01-11 21:44:05.100: E/AndroidRuntime(4232): at android.widget.Toast$TN.<init>(Toast.java:327)
01-11 21:44:05.100: E/AndroidRuntime(4232): at android.widget.Toast.<init>(Toast.java:93)
01-11 21:44:05.100: E/AndroidRuntime(4232): at android.widget.Toast.makeText(Toast.java:235)
01-11 21:44:05.100: E/AndroidRuntime(4232): at com.weibo.sdk.android.demo.Sent_Activity$1$1.onComplete(Sent_Activity.java:40)
01-11 21:44:05.100: E/AndroidRuntime(4232): at com.weibo.sdk.android.net.AsyncWeiboRunner$1.run(AsyncWeiboRunner.java:26)


代码错误只想Toast那行。请问是怎么回事?
  或者说各位朋友有更好的方法,可以提示用户微博是否发送成功?
  第四个参数RequestListener(){}是朋友帮我加的,不清楚是不是应该用其它呢?
android 新浪微博 java
[解决办法]
微博的update()方法是运行在单独的线程中的,所以无法在其中操作UI元素,提示信息需要通过handler通知UI线程展示
[解决办法]
可以使用同步线程
public class LoginTask extends AsyncTask<String, Integer, Boolean> {

@Override
protected Boolean doInBackground(String... params) {
String username = params[0];
String password = params[1];
boolean result = false;

try {
mUser.setAutoLoad(mRememberCheckBox.isChecked());

result = UserHttpRequest.getUserToken(mContext, username, password);

} catch (Exception e) {
Log.e("login", e.getMessage());
}


return result;
}

@Override
protected void onProgressUpdate(Integer... values) {

if (isCancelled())// Task被取消了,不再继续执行后面的代码
{
return;
}

super.onProgressUpdate(values);
}

@Override
protected void onPreExecute() {
if (isCancelled())// Task被取消了,不再继续执行后面的代码
{
return;
}

showProgressDialog("请稍候", "登陆验证中……");

super.onPreExecute();
}

@Override
protected void onPostExecute(Boolean result) {
if (isCancelled())// Task被取消了,不再继续执行后面的代码
{
return;
}

if (result) {
try {
UserHttpRequest.getClienterInfo();
} catch (JSONException ex) {
}
Frame.getInstance().onSipRegister();
} else {
hideProgressDialog();
Toast.makeText(
GuoSheng_LoginActivity.this.getApplicationContext(),


"登录失败", Toast.LENGTH_LONG).show();
}

super.onPostExecute(result);
}

热点排行