当前位置: 首页 > 知识库问答 >
问题:

在Android Studio静态编程语言中显式指定类型

范翰飞
2023-03-14

我正在为我的应用程序创建登录页面,它给了我无法推断出此参数类型的错误。请明确说明

它只在错误和响应中给出错误。知道为什么会这样吗?

var rq: RequestQueue = Volley.newRequestQueue(this)
            var sr = StringRequest(Request.Method.GET, url, Response.Listener { response ->
                if(response.equals("0"))
                    Toast.makeText(this, "Login failed.", Toast.LENGTH_LONG).show()
                else

                var i = Intent(this,LoggedinActivity::class.java)
                startActivity(i)
                Toast.makeText(this, "User created successfully.", Toast.LENGTH_LONG).show()
            }, Response.ErrorListener {
                error ->
                Toast.makeText(this, error.message, Toast.LENGTH_LONG).show()
            })
            rq.add(sr)

问题出现了,因为我没有正确检查所有的括号,因此if语句没有正确工作,并因此给出错误。

抱歉给您带来不便。我祝你下周过得愉快。我检查了第一个答案,认为是正确的。

共有2个答案

相云
2023-03-14

这应该引用活动上下文,否则代码认为它是响应.Listener,另外如user8159708所述,您需要括号,至少是other语句。

val rq: RequestQueue = Volley.newRequestQueue(this)
        val sr = StringRequest(Request.Method.GET, url, Response.Listener { response ->
            if(response == "0") {
                Toast.makeText(this@MainActivity, "Login failed.", Toast.LENGTH_LONG).show()
            }
            else {
                val i = Intent(this@MainActivity, MainActivity::class.java)
                startActivity(i)
                Toast.makeText(this@MainActivity, "User created successfully.", Toast.LENGTH_LONG).show()
            }
        }, Response.ErrorListener {
            error ->
            Toast.makeText(this@MainActivity, error.message, Toast.LENGTH_LONG).show()
        })
        rq.add(sr)

编辑:

根据这篇文章,kotlin的正确语法是this@MainActivity

支才
2023-03-14

这可能是你在“如果”和“否则”周围缺少括号。

试试这个:

val rq: RequestQueue = Volley.newRequestQueue(this)
        val sr = StringRequest(Request.Method.GET, url, Response.Listener { response ->
            if(response == "0") {
                Toast.makeText(this, "Login failed.", Toast.LENGTH_LONG).show()
            }
            else {
                val i = Intent(this, MainActivity::class.java)
                startActivity(i)
                Toast.makeText(this, "User created successfully.", Toast.LENGTH_LONG).show()
            }
        }, Response.ErrorListener {
            error ->
            Toast.makeText(this, error.message, Toast.LENGTH_LONG).show()
        })
        rq.add(sr)
 类似资料:
  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 为了描述Gradle构建脚本,我们可以通过< code>build.gradle.kts文件使用Kotlin。在< code>dependencies和build 部分全局定义要使用的Kotlin版本是一个常见的问题(在给定的情况下使用不同的版本是相当罕见的)。 请考虑以下代码 (Gradle 4.3.1): 如您所见,kotlin(在本例中为1.2.30)定义了两次:和,它们通常没有区别。由于D

  • 正如标题所说,我正在尝试将Java和Kotlin混合在一个项目中。这里有一个很好的例子。混合java kotlin hello world。除了kotlin在src/main/Java/somepackage/SomeClass中找不到我的任何Java类之外,所有的东西都正常工作。Java语言 这是什么原因? 我的身材。gradle看起来像这样 而不是开始尝试在更大的项目上实现这一点。我试图通过创

  • 我是一个初学静态编程语言的学生,正在学习一个示例回收人员视图。我开始编码,但没有得到我应该得到的结果,即使在检查和重新检查代码之后也是如此。然后我注意到,即使使用非常基本的代码,它仍然没有按照应有的方式运行。我将包含基本代码,当使用时,它应该显示一个通用列表。我只得到列表中的一项。我怀疑代码以外的其他东西正在影响结果;但是我还没有达到知道的水平。 请看活动内容。xml: 注意它有行。 下面是列表(

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 是否可以在中的class中添加一个新的静态方法?通常,由于Kotlin Extensions,这样的事情在Kotlin中是可能的。 我已经尝试在一个名为的文件中执行以下操作: 但<code>数学。无法解析同伴。。。