Android 吐司没有显示出来
调用服务时,我正在获取结果。如果结果字符串get等于20,则我希望显示toast…我正在获取结果,但无法显示toast消息。。。 请查找下面的代码。。 能够显示System.out.println(“检查值”);但不是烤面包Android 吐司没有显示出来,android,toast,Android,Toast,调用服务时,我正在获取结果。如果结果字符串get等于20,则我希望显示toast…我正在获取结果,但无法显示toast消息。。。 请查找下面的代码。。 能够显示System.out.println(“检查值”);但不是烤面包 private String serviceCalling() { // TODO Auto-generated method stub int responseCode = 0; JSONObject jObjet = null;
private String serviceCalling() {
// TODO Auto-generated method stub
int responseCode = 0;
JSONObject jObjet = null;
String result = "";
InputStream is = null;
try {
HttpClient httpclient = new DefaultHttpClient();
// HttpPost httppost = new
// HttpPost("");
HttpPost httppost = new HttpPost("webservice url");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
responseCode = response.getStatusLine().getStatusCode();
System.out.println("responseCode::" + responseCode);
} catch (Exception e) {
Log.e("NO CONNECTION", "Error in http connection " + e.toString());
}
// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
int valueLength = result.length();
if (valueLength == 20){
Toast.makeText(LoginScreen.this, "Detilas Check", Toast.LENGTH_SHORT).show();
}
System.out.println("response" + result);
} catch (Exception e) {
Log.e("CANT CONVERT DATA",
"Error converting result " + e.toString());
}
try {
jObjet = new JSONObject(result);
JSONArray jArray = jObjet.getJSONArray("login");
JSONObject jsonObject = jArray.getJSONObject(0);
String id = jsonObject.getString("id");
String count = jsonObject.getString("my_ads_list_start_count");
Intent intent = new Intent(LoginScreen.this, HomeScreen.class);
intent.putExtra("ID", id);
intent.putExtra("ADDCOUNT", count);
startActivity(intent);
finish();
// System.out.println("id:::::::::" + id);
// System.out.println("count:::::::::" + count);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
无法在后台线程上更新UI。在后台线程上调用新线程中的WebService调用。因此,您必须在UI线程上更新UI 检查此代码:-
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginScreen.this, "Details Check", Toast.LENGTH_SHORT).show();
}
});
无法在后台线程上更新UI。在后台线程上调用新线程中的WebService调用。因此,您必须在UI线程上更新UI 检查此代码:-
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(LoginScreen.this, "Details Check", Toast.LENGTH_SHORT).show();
}
});
所以
而不是
if (valueLength == 20){
所以
而不是
if (valueLength == 20){
您是否使用异步任务调用服务..?您的代码检查字符串的长度,您正在查找值“20”,对吗?请检查我的回答您是否使用异步任务调用服务..?您的代码检查字符串的长度,您正在查找值“20”,对吗?请检查我的答案,我想必须添加用户1632209的答案。你应该在ui中调用它,我想你必须添加user1632209的答案。您应该在ui线程中调用它