【发布时间】:2016-08-31 02:53:28
【问题描述】:
我正在尝试隐藏进度条并在来自onPostExecute() 的片段中的编辑文本上设置错误消息,但我的应用程序不断崩溃。我需要一些有关如何正确执行此操作的帮助。我将为这个项目对我的片段进行大量更新,因此我需要知道从OnPostExecute() 方法更新片段的正确方法。
我尝试创建Fragment 类的对象,然后使用该对象尝试访问EditText 和名为showProgress() 的progressBar 方法,但出现运行时错误。
protected void onPostExecute(String result) {
super.onPostExecute(result);
String jsonStr = result;
SellerRegisterFragment sr = new SellerRegisterFragment();
Toast toast = null;
if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);
String query_result = jsonObj.getString("query_result");
if (query_result.equals("SUCCESS")) {
toast = null;
Toast.makeText(context, "Registered successfully. You can now Login", Toast.LENGTH_SHORT).show();
if (toast == null || toast.getView().getWindowVisibility() != View.VISIBLE) {
context.startActivity(new Intent(context, SellerLoginOrRegisterActivity.class));
}
}
else if (query_result.equals("DUPLICATE")) {
toast = null;
Toast.makeText(context, "Account for the given URL already exists", Toast.LENGTH_SHORT).show();
sr.showProgress(false);
}
else if (query_result.equals("FAILURE")) {
Toast.makeText(context, "Data could not be inserted. Signup failed.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Couldn't connect to remote database.", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(context, "Error parsing JSON data."+"...... "+ jsonStr, Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(context, "Couldn't get any JSON data.", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
你可以发布 logcat 吗?
-
感谢您的回复...我会立即发布...请等待 1 分钟
-
我收到此错误:java.lang.IllegalStateException: Fragment SellerRegisterFragment{1b16e429} 未附加到活动
-
致命异常:主进程:comb.example.shahid.carrottechapp,PID:4652 java.lang.IllegalStateException:片段 SellerRegisterFragment{1b16e429} 未附加到 android.support.v4.app.Fragment 的 Activity .getResources(Fragment.java:639) 在comb.example.shahid.carrottechapp.SellerRegisterFragment.showProgress(SellerRegisterFragment.java:182) 在comb.example.shahid.carrottechapp.SignupActivity.onPostExecute(SignupActivity.java:89) 在comb。 example.shahid.carrottechapp.SignupActivity.onPostExecute(SignupActivity.java:21)
-
sr.editText.setError("重复网站");什么是sr?
标签: java android android-fragments android-asynctask android-progressbar