【问题标题】:Android Studio onClick Drop Down List Not Populating - BeginnerAndroid Studio onClick 下拉列表未填充 - 初学者
【发布时间】:2021-12-01 02:27:26
【问题描述】:

难以置信的基本问题。

我正在关注here 找到的“hello world”Android Studio 教程,但遇到了非常基本的问题。

在 MainActivity 中创建函数后,在 Android Studio 内部的 onClick 下拉菜单中找不到该函数。

我尝试将功能设置为公共,重建项目,同步和无效缓存/重新启动无济于事。作为一个完整的 Android Studio 初学者,我不知道下一步该去哪里。

谢谢。

package com.example.hcaelxxam.myfirstapp_v2

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
}

fun sendMessage(view: View) {
    // Do something in response to button
}

}

【问题讨论】:

    标签: android-studio kotlin


    【解决方案1】:

    您知道您的代码在 Kotlin 中吗?对我来说造成问题的是,当我需要 Java 解决方案时,我正在使用 Kotlin 解决方案。尝试改变

    class MainActivity : AppCompatActivity() {
            override fun onCreate(savedInstanceState: Bundle?) {
                super.onCreate(savedInstanceState)
                setContentView(R.layout.activity_main)
            }
        
            /** Called when the user taps the Send button */
            fun sendMessage(view: View) {
                // Do something in response to button
            }
        }
    

    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        /** Called when the user taps the Send button */
        public void sendMessage(View view) {
            // Do something in response to button
        }
    }
    

    【讨论】:

      【解决方案2】:

      This tutorial?

      我遇到了同样的问题(IntelliJ Ultimate 2018.1)。我通过以下方式解决了它:

      1. 将活动编辑器从设计视图切换到文本视图,
      2. 将光标放在<Button> 标记的末尾(但仍在内部),
      3. Ctrl+Space 打开“自动完成”对话框,
      4. 选择android:onClick
      5. 然后(在双引号内)再次按 Ctrl+Space,然后选择(在我的情况下是唯一选项)sendMessage

      希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        像你一样定义点击方法后,运行 gradle build 和 opt

        【讨论】:

          【解决方案4】:

          同样的教程,在我的例子中,问题是 sendMessage() 方法在 MainActivity.java 中被注释掉了

          【讨论】:

            【解决方案5】:

            似乎您需要将上下文添加到 xml 布局中,以便将方法填充到 onClick 方法的编辑器下拉列表中。这也适用于 Kotlin,不需要 java。

            <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".MainActivity">
            

            【讨论】:

              猜你喜欢
              • 2020-06-11
              • 2014-10-14
              • 1970-01-01
              • 2022-01-19
              • 2020-06-01
              • 2023-03-07
              • 2011-10-20
              • 1970-01-01
              • 2012-03-10
              相关资源
              最近更新 更多