java - setOnItemClickListener() 不适用于 Fragment 中的 ExpandableHeightGridView

标签 java android android-studio runtime-error

你好,早上好,在我看来,我无法处理 setOnItemClickListener

我正在尝试创建一个在 GridView 中动态列出已安装应用程序的应用程序。我能够以 GridView 形式显示应用程序,但无法使这些项目可单击。当我点击这些项目时什么也没有发生。 setOnItemClickListener 内的代码不会在单击事件时触发。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".Tab2profile">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:ignore="UselessParent">
//my scrollview 
        <ScrollView
            android:layout_width="match_parent"
            android:fillViewport="true"
            android:layout_height="match_parent">
            <RelativeLayout
                android:id="@+id/MainRLyout"
                android:layout_width="match_parent"
                android:orientation="vertical"
                android:layout_height="wrap_content">
                <RelativeLayout
                    android:id="@+id/girislayout"
                    android:layout_alignParentTop="true"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                    <TextView
                        android:id="@+id/usernameTv"
                        android:layout_alignParentStart="true"
                        android:layout_width="wrap_content"
                        android:layout_margin="10dp"
                        android:layout_centerVertical="true"
                        android:textSize="@dimen/text_size_Orta"
                        android:textColor="@color/cardview_dark_background"
                        android:layout_height="wrap_content"
                        tools:ignore="PrivateResource" />
                    <Button
                        android:id="@+id/Login_LogOut_Button"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:minHeight="0dp"
                        android:layout_centerVertical="true"
                        android:layout_alignParentEnd="true"
                        android:layout_marginStart="5dp"
                        android:layout_marginLeft="5dp"
                        android:layout_marginEnd="5dp"
                        android:background="@drawable/logout_rounded"
                        android:drawableRight="@drawable/logout_icon"
                        android:padding="0dp"
                        android:text="@string/Logout_Text_str"
                        android:textColor="@android:color/white"
                        android:textSize="12sp"
                        tools:ignore="RelativeOverlap,RtlHardcoded" />
                </RelativeLayout>
                //in here i cant handled the item click funktşon
                <syr13.comapp4.Custum_Adapters.ExpandableHeightGridView
                    android:id="@+id/Your_Apps_Li"
                    android:numColumns="3"
                    android:layout_below="@id/Your_Apps_Tv"
                    android:horizontalSpacing="6dp"
                    android:layout_margin="5dp"
                    android:verticalSpacing="6dp"
                    android:gravity="center"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                </syr13.comapp4.Custum_Adapters.ExpandableHeightGridView>

            </RelativeLayout>
        </ScrollView>

    </RelativeLayout>
</FrameLayout>




最佳答案

我认为你可以更改你的代码

来自

button.setOnItemClickListener(this);

button.setOnClickListener(this);

例如:-



    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = findViewById(R.id.button);
            <b>button.setOnClickListener(this);</b>
        }
        @Override
        public void onClick(View v) {
            switch (v.getId())
            {
                case R.id.button:
                    //Do Something
                    break;
            }
        }
    }

关于java - setOnItemClickListener() 不适用于 Fragment 中的 ExpandableHeightGridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58367902/

相关文章:

java - 如何构建 JVM 项目来隔离专有代码?

java - 生成随机数并存储

java - 使用 PostgreSQL 的一个实体的多个 Hibernate 序列生成器

android - 如何使用安卓:Layout_marginLeft dynamically in Android for TextView

android - 如何从我的 Android 应用程序访问新的 Gmail API?

java - 在java中遍历多张excel

java - IBM FileNet P8 Java API 与 Android 集成?

java - 使用 AlarmClock 或 Alarmmanager 从用户输入添加警报

android - 升级 Android Studio 后没有发布包文件夹

android-studio - 为什么Android Studio在启动调试器时仍保持Gradle同步?