请帮助我解决第一个API响应,并且在第一个API成功模块中调用第二个API的情况。我也收到第二个API响应,但格式不是
必需
{
"colName": [
"Type",
"6 days"
],
"row1": [
"BASE RATE",
102.54
],
"row2": [
"EXTRA DAY",
17.09
]
}
获取
{
"colName": [
"Type",
],
"row1": [
"BASE RATE",
],
"row2": [
"EXTRA DAY",
]
}
一个接一个击中两个api后,我在邮递员中得到了同样的反应
代码
API 1
class GetReservationExtraData extends AsyncTask<Void, Void, Void> {
String response = "";
@Override
protected void onPreExecute() {
progressDialog = ProgressDialog.show(getContext(), "Info", "Loading... Please Wait.", true, false);
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... voids) {
try {
JSONObject postData = new JSONObject();
postData.put("discountRate", "0");
response = NetworkCall.postSync(Constants.getExtraDataURLPost(), postData.toString());
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Void aVoid) {
try {
if (progressDialog.isShowing())
progressDialog.dismiss();
new GetReservationExtraAmountData().execute();
} catch (Exception e) {
e.printStackTrace();
}
super.onPostExecute(aVoid);
}
}
API 2
class GetReservationExtraAmountData extends AsyncTask<Void, Void, Void> {
String response = "";
@Override
protected void onPreExecute() {
progressDialog = ProgressDialog.show(getContext(), "Info", "Loading... Please Wait.", true, false);
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... voids) {
try {
JSONObject postData = new JSONObject();
postData.put("contractId", "");
response = NetworkCall.postSync(Constants.getExtraAmountDataURLPost(), postData.toString());
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Void aVoid) {
try {
response.toString();
} catch (Exception e) {
e.printStackTrace();
}
super.onPostExecute(aVoid);
}
}
答案 0 :(得分:1)
因为我没有您最后使用的网址,但我尝试了几个网址,这些网址的响应中有下拉列表,而且我的 WebView
在设备上运行良好。
我测试的设备是PIXEL 2, Samsung Galaxy S20+, S10+
这是我在项目中用于 AndroidX 的依赖项。
<块引用>特别是,我建议先更新依赖。
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.5.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
WebView
的代码非常正常。
binding.webView.settings.apply {
// TODO Depending upon your requirement you can use these setting to be applied before loading the URL.
// javaScriptEnabled = true
// loadWithOverviewMode = true
// javaScriptCanOpenWindowsAutomatically = true
}
binding.webView.apply {
webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(
view: WebView,
url: String
): Boolean {
Log.e("url coming from server", url)
view.loadUrl(url)
return false;
}
}
loadUrl("The URL you want to load here")
}
如果最终还是不行,那么你可以分享一下你的活动代码。
答案 1 :(得分:0)
您正在调用的对象已死亡,因为其托管进程不再存在。 refer to this thread
答案 2 :(得分:0)
问题 - 我正在扩展 BaseActivity 类而不是 AppCompat Activity。
自从我最近在基本活动中为我的应用添加了短语,网络视图下拉菜单崩溃了。
我只是使用了下面的代码
WebViewActivity extends AppCompatActivity