Java 有人能帮我留言吗?我试图创建一个列表视图,但是当我运行代码时,这个错误会弹出
有人能解决这个错误吗?我试图创建一个列表视图,但是当我运行代码时,出现了这个错误 错误消息: 2020-02-06 13:40:23.483 16037-16037/com.example.submissionexpert1 E/AndroidRuntime:致命异常:主进程: com.example.submissionexpert1,PID:16037 java.lang.NullPointerException:尝试调用虚拟方法“void” 空值上的android.widget.TextView.setText(java.lang.CharSequence)“” 对象引用 位于com.example.submissionexpert1.FilmAdapter$ViewHolder.bind(FilmAdapter.java:68) 位于com.example.submissionexpert1.FilmAdapter.getView(FilmAdapter.java:52) 我的代码:Java 有人能帮我留言吗?我试图创建一个列表视图,但是当我运行代码时,这个错误会弹出,java,android,listview,adapter,Java,Android,Listview,Adapter,有人能解决这个错误吗?我试图创建一个列表视图,但是当我运行代码时,出现了这个错误 错误消息: 2020-02-06 13:40:23.483 16037-16037/com.example.submissionexpert1 E/AndroidRuntime:致命异常:主进程: com.example.submissionexpert1,PID:16037 java.lang.NullPointerException:尝试调用虚拟方法“void” 空值上的android.widget.TextV
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
class FilmAdapter extends BaseAdapter {
private final Context context;
private ArrayList<Film> films = new ArrayList<>();
void setFilms(ArrayList<Film> films) {
this.films = films;
}
FilmAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return films.size();
}
@Override
public Object getItem(int i) {
return films.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View itemView = view;
if (itemView == null) {
itemView = LayoutInflater.from(context).inflate(R.layout.item_data, viewGroup, false);
}
ViewHolder viewHolder = new ViewHolder(itemView);
enter code here
Film film = (Film) getItem(i);
viewHolder.bind(film);
return itemView;
}
private class ViewHolder {
private TextView txtName;
private TextView txtDescription;
private ImageView imgPhoto;
ViewHolder(View view) {
txtName = view.findViewById(R.id.txt_name);
txtDescription = view.findViewById(R.id.txt_description);
imgPhoto = view.findViewById(R.id.img_photo);
}
void bind(Film film) {
txtName.setText(film.getNama());
txtDescription.setText(film.getOverview());
imgPhoto.setImageResource(film.getPhoto());
}
}
}
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.BaseAdapter;
导入android.widget.ImageView;
导入android.widget.TextView;
导入java.util.ArrayList;
类FilmAdapter扩展了BaseAdapter{
私人最终语境;
私有ArrayList films=新ArrayList();
void setFilms(ArrayList films){
这是电影;
}
FilmAdapter(上下文){
this.context=上下文;
}
@凌驾
public int getCount(){
返回胶片。大小();
}
@凌驾
公共对象getItem(int i){
返回电影。获取(i);
}
@凌驾
公共长getItemId(int i){
返回i;
}
@凌驾
公共视图getView(int i、视图视图、视图组视图组){
视图项视图=视图;
如果(itemView==null){
itemView=LayoutFlater.from(上下文)。充气(R.layout.item_数据,视图组,false);
}
ViewHolder ViewHolder=新的ViewHolder(项目视图);
在这里输入代码
胶片=(胶片)获取第(i)项;
取景器。装订(胶卷);
返回项目视图;
}
私有类视窗持有者{
私有文本视图txtName;
私有文本视图txtDescription;
私人影像查看imgPhoto;
视图保持器(视图){
txtName=view.findviewbyd(R.id.txt\u name);
txtDescription=view.findviewbyd(R.id.txt\u description);
imgPhoto=view.findviewbyd(R.id.img_照片);
}
空隙绑定(胶片){
setxt(film.getNama());
txtDescription.setText(film.getOverview());
imgPhoto.setImageResource(film.getPhoto());
}
}
}
请检查下面返回null或object的字段,并进行相应的更正。可能是您访问了错误的textview id
txtName = view.findViewById(R.id.txt_name); // may return null
txtDescription = view.findViewById(R.id.txt_description); // // may return null
希望这有帮助。请检查下面返回null或object的字段,并进行相应的更正。可能是您访问了错误的textview id
txtName = view.findViewById(R.id.txt_name); // may return null
txtDescription = view.findViewById(R.id.txt_description); // // may return null
希望这能有所帮助。在函数void TextView.setText(java.lang.CharSequence)中的第68行转到此类FilmAdapter.java这里有空的东西,我猜TextView是空的。在函数void TextView.setText(java.lang.CharSequence)中的第68行转到此类FilmAdapter.java这里有空的东西,我猜TextView是空的