java - 如何修复“预期的 URL 方案 'http' 或 'https' 但未找到冒号”错误?
问题描述
在我的应用程序中,我正在尝试使用片段中的哈希图与 API 连接。问题似乎是我连接到 API 的异步任务不想接受我的请求。错误显示预期的 URL 方案“http”或“https”,但未找到冒号
这是一个应用程序,我在其中使用微调器,因此用户可以选择,根据他的选择,将加载不同的数据。我试图在哈希图中摆弄,但现在问题似乎出在创建任务中。
这是我启动任务的微调器
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long id){
Toast.makeText(getActivity(),"Location selected: "+locations[position], Toast.LENGTH_SHORT )
.show();
map.get(locations[position]);
//create the task
ChooseLocationTask task = new ChooseLocationTask(location, position, value);
// start the task
task.execute();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
这是异步任务的构造函数,它似乎不能正常工作:
this.location = location;
this.value = value;
String url ="";
switch(selected){
case 1:
url = url1.getUrl();
break;
case 2:
url= url2.getUrl();
break;
case 3:
url= url3.getUrl();
break;
case 4:
url= url4.getUrl();
break;
case 5:
url = url5.getUrl();
break;
case 6:
url = url6.getUrl();
break;
case 7:
url = url7.getUrl();
break;
case 8:
url= url8.getUrl();
break;
case 9:
url = url9.getUrl();
}
request = new Request.Builder().url(url).build();
}
logcat 中的错误表示问题在于在第一个代码示例中创建任务并在第二个示例中创建请求。我希望用户在单击微调器中的某些字段时看到来自 API 的值。谢谢你的帮助
解决方案
URL 必须以http://
or开头https://
,您的 url 是""
default:
编辑:我看到的另一个可能的问题是您的 switch 语句中没有分支 - 如果变量selected
的值小于 1 或大于 9,您的 url 将为空,因此不会以http://
or开头https://
此外,您似乎从不使用名为value
. 也许您打算在您的 switch 语句中使用它?
推荐阅读
- r - 在 data.table 构造函数中使用“key”作为列名
- r - R - ggplot2 - 提取两条线之间的点
- excel - 我想调用内部网站上的特定功能
- json - 读/写本地json文件swift 4
- java - 11111111111111111111111111111110 如何评估为-2?
- javascript - javascript if 语句返回值
- php - 最近 5 天之前的付款待处理通知显示 Php mysqli
- ios - iOS Core蓝牙无法通过特性传输数据
- c# - 从句柄渲染 Windows 中控件的图像
- scala - TestProbe 没有收到来自 RouteSpec 的消息