【发布时间】:2023-03-21 23:40:03
【问题描述】:
我创建了一个扩展 CursorAdapter 的类,我在 bindView 方法上有问题。
@Override
public void bindView(View v, Context context, Cursor c) {
int colNum = c.getColumnIndex(VidCallDbAdapter.QRLINK);
String colValue = c.getString(colNum);
System.out.println("value>> " + colValue);
TextView name_text = (TextView) v.findViewById(R.id.qr_url);
name_text.setText(colValue);
}
我总是在这一行得到一个 NullPointerException
TextView name_text = (TextView) v.findViewById(R.id.qr_url);
这很奇怪,因为我在我的一个 xml 中定义了 qr_url。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:layout_height="wrap_content"
android:text=""
android:id="@+id/qr_url"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:textColor="#000000"
android:textSize="12sp">
</TextView>
</LinearLayout>
我是否错过了代码中的某些内容,这就是为什么它是 NullPointerException?提前致谢。
【问题讨论】:
-
也发布您的
newView(View,Context,Cursor) -
哇,它与它有关。我将 null 返回给该方法,因为我的方法有异常。这解释了 NullPointerException。谢谢。但我对该方法的原始代码是 @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { final LayoutInflater inflater = LayoutInflater.from(context);返回inflater.inflate(布局,父级,假); // 返回空值; } 我在返回时遇到异常
-
layout是如何定义的?检查我的编辑 -
哪个编辑?布局定义为 layout = R.layout.list_layout_qrurl;在构造函数上。
标签: android android-cursoradapter