【发布时间】:2019-10-17 04:24:57
【问题描述】:
我正在通过从数据库中获取详细信息来实现recyclerView,但我遇到了错误。我是 android 应用程序开发的新手,所以遇到问题请帮助纠正我的错误
代码如下:
Cursor cursor1 =databse.rawQuery("select * from track_info where track_id1 = ? order by name desc",new String[]{pkg.getId()});
while (cursor1.moveToNext()){
location_data=findViewById(R.id.location_data);
activity_data=findViewById(R.id.activity_data);
time_data1=findViewById(R.id.time_data1);
time_data1.setText(cursor1.getString(1));
location_data.setText(cursor1.getString(2));
time_data1.setText(cursor1.getString(1)); 行的指向错误
错误是:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at com.example.randomfile.Track$1.onClick(Track.java:72)
RecycleView 适配器代码:
package com.example.fedexfinal;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class RecycleviewAdapter extends RecyclerView.Adapter<RecycleviewAdapter.RecyclerViewHolder>{
private Context mContext;
public RecycleviewAdapter(Context context){
mContext= context;
}
public class RecyclerViewHolder extends RecyclerView.ViewHolder{
public RecyclerViewHolder(@NonNull View itemView) {
super(itemView);
}
}
@NonNull
@Override
public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(mContext);
View view=inflater.inflate(R.layout.recycle_item,parent,false);
return new RecyclerViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
}
recycleviewer所在的xmlcode
<?xml version="1.0" encoding="utf-8"?>
<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=".Track">
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">
<EditText
android:id="@+id/title_track"
android:layout_width="363dp"
android:layout_height="50dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="18dp"
android:layout_marginLeft="18dp"
android:layout_marginTop="38dp"
android:background="#ffffff"
android:backgroundTint="#ffffff"
android:hint="Enter your Tracking Number"
android:inputType="text"></EditText>
<Button
android:id="@+id/trackbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="99dp"
android:layout_marginEnd="161dp"
android:layout_marginRight="161dp"
android:text="Track"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/textdata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="168dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Shipment Details"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/textdata2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="207dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Dimension"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/textdata3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="243dp"
android:ems="10"
android:inputType="text"
android:text="Weight"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycleview"
android:layout_width="408dp"
android:layout_height="453dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="3dp"
android:layout_marginLeft="3dp"
android:layout_marginBottom="0dp" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
获取recycleview Layout的xmlcode(recycle_item.xml):
<?xml version="1.0" encoding="utf-8"?>
<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">
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">
<TextView
android:id="@+id/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="11dp"
android:text="Location" />
<TextView
android:id="@+id/location_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="71dp"
android:layout_marginLeft="71dp"
android:layout_marginTop="11dp"
android:text="TextView" />
<TextView
android:id="@+id/activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="30dp"
android:text="Activity" />
<TextView
android:id="@+id/activity_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="71dp"
android:layout_marginLeft="71dp"
android:layout_marginTop="30dp"
android:text="TextView" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="50dp"
android:text="Date/Time" />
<TextView
android:id="@+id/time_data1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="71dp"
android:layout_marginLeft="71dp"
android:layout_marginTop="50dp"
/>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
谁能帮我了解错误并纠正我的错误
【问题讨论】:
-
请提供一个可重现的最小示例:stackoverflow.com/help/minimal-reproducible-example。
-
能把xml代码放上来吗?
-
请检查@Md.Asaduzzaman, @Swayangjit
-
为什么 onBindViewHolder 是空的?从哪里设置 textView?您必须显示代码
-
@BhavinThakar,您实现 RecyclerView 的方法不正确。请从那里寻求帮助:developer.android.com/guide/topics/ui/layout/recyclerview
标签: java android android-studio android-sqlite