Android 滚动后在选择网格项上获取空指针异常

Android 滚动后在选择网格项上获取空指针异常,android,android-gridview,Android,Android Gridview,在做了一个滚动(垂直)后点击,我得到的是空指针异常,而不是文本视图。 我使用以下代码供您参考: 集合_image.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_pa

在做了一个滚动(垂直)后点击,我得到的是空指针异常,而不是文本视图。 我使用以下代码供您参考:

集合_image.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >
    <GridView
    android:id="@+id/gridView"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:numColumns="3"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="120dp"
    android:gravity="center" />
</RelativeLayout>
关于活动(两项职能):

“DisplayCardsFragment.java:71”代码


TextView mtext=(TextView)parent.getChildAt(position.findviewbyd(R.id.grid\u item\u text)

我认为它不能获取xml文件的引用,所以出现空指针异常

TextView mtext = (TextView)v.findViewById(R.id.grid_item_text); 

我认为它不能获取xml文件的引用,所以空指针异常

TextView mtext = (TextView)v.findViewById(R.id.grid_item_text); 

试着换一根线

 TextView mtext = (TextView) parent.getChildAt(position).findViewById(R.id.grid_item_text); 
           by 
 TextView mtext = (TextView) v.findViewById(R.id.grid_item_text); 

试着换一根线

 TextView mtext = (TextView) parent.getChildAt(position).findViewById(R.id.grid_item_text); 
           by 
 TextView mtext = (TextView) v.findViewById(R.id.grid_item_text); 

OnItemClickListener
本身提供了
itemview
。当您使用
gridView.Child
时,它将只返回当前项,而不是所有项,这就是您遇到问题的原因

使用:


OnItemClickListener
本身提供了
itemview
。当您使用
gridView.Child
时,它将只返回当前项,而不是所有项,这就是您遇到问题的原因

使用:

你代替

TextView mtext = (TextView)v.findViewById(R.id.grid_item_text); 

在adapter_griditem.xml中:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   android:gravity="center" >

   <TextView
       android:id="@+id/grid_item_text"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:gravity="center_horizontal"
       android:textColor="#FFFFFF" />

</LinearLayout>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/grid_item_text"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:gravity="center_horizontal"
   android:textColor="#FFFFFF" />

您要替换

TextView mtext = (TextView)v.findViewById(R.id.grid_item_text); 

在adapter_griditem.xml中:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   android:gravity="center" >

   <TextView
       android:id="@+id/grid_item_text"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:gravity="center_horizontal"
       android:textColor="#FFFFFF" />

</LinearLayout>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/grid_item_text"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:gravity="center_horizontal"
   android:textColor="#FFFFFF" />


输入完整的logcat并查看空指针的行号。输入完整的logcat并查看空指针的行号。这很讽刺,意味着您错过了一个解释。我认为这是一个非常普遍的问题,因为如果用XML声明onClickListener,有时它甚至没有检测到onClickListener,而当时必须在运行时添加侦听器。这很讽刺,意味着您错过了一个解释。我认为这是一个非常普遍的问题,因为如果用XML声明onClickListener,有时它甚至没有检测到onClickListener,并且在那个时候必须在运行时添加侦听器。