导入已在单一类型导入中定义

Posted

技术标签:

【中文标题】导入已在单一类型导入中定义【英文标题】:import already defined in single type import 【发布时间】:2019-10-05 22:03:34 【问题描述】:

我需要帮助来弄清楚如何解决我活动中两个冲突导入的问题,即:

    retrofit2.Response com.android.volley.Response

第一个导入旨在帮助我管理 api 回调响应,而第二个导入旨在帮助我在上传文件时管理 stringrequest 响应。单独实现一个,即仅运行 api 调用以获取数据本身就可以正常工作,就像自己上传文件一样。现在将两者合并到一个活动中,这样当用户从下拉列表中选择数据时,其列表来自服务器,然后上传文件被证明是非常麻烦的错误:

retrofit2.Response 已在单一类型导入中定义

com.android.volley.Response 已在单一类型导入中定义

取决于哪个先来。

【问题讨论】:

【参考方案1】:

您不能导入两个具有相同名称的不同类。在这些情况下,您可以导入一个,但使用具有完全限定名称的另一个。

例如:

import retrofit2.Response;


Response response = ...; //This is Retrofit Response object
com.android.volley.Response otherResponse = ...; //This is volley Response object

【讨论】:

【参考方案2】:

如果您需要使用两个或多个具有相同名称的类,您可以选择其中一个。

选项 1:将一种类型用于导入,并使用另一种的完全限定类名。

import java.util.Date;

public class SameNameConflicts 
    Date date;
    java.sql.Date sqlDate;

选项 2:对两者都使用完全限定的类名。

public class SameNameConflicts 
    java.util.Date date;
    java.sql.Date sqlDate;

【讨论】:

【参考方案3】:

如果我是你,我会创建使用改造来上传图片 查看 How to Upload Image file in Retrofit 2 和ANDROID UPLOAD IMAGE TO SERVER USING RETROFIT 2

【讨论】:

以上是关于导入已在单一类型导入中定义的主要内容,如果未能解决你的问题,请参考以下文章

如何在打字稿中正确导入自定义类型

未定义或导入 C# 预定义类型“System.Object”

预定义类型“System.Object”未定义或导入.net 4.6

如何导出从另一个文件导入的流类型定义?

未定义或导入预定义类型“System.ValueTuple´2”

“预览”无法解析为类型,导入已定义[关闭]