Attempt to invoke virtual method ‘android.view.View android.view.View.findViewById(int)‘
这个异常真是让人摸不着头脑。。。。。一个listview的实例求大佬解救。。。。。。个人感觉代码好像没有什么错误吧。。。。。。但解析器总是报错显示Attempt to invoke virtual method ‘android.view.View android.view.View.findViewById(int)’ on a null object referenceMainActivity
·
这个异常真是让人摸不着头脑。。。。。
一个listview的实例
求大佬解救。。。。。。
个人感觉代码好像没有什么错误吧。。。。。。但解析器总是报错显示Attempt to invoke virtual method ‘android.view.View android.view.View.findViewById(int)’ on a null object reference
MainActivity类
package com.example.mytest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity {
//创建一个listview
private ListView mlistview;
//一系列names
private String[] names = {"homny","Toney","汤姆"};
//对应的description
private String[] descriptions = {"123","456","789"};
//对应的头像
private int[] ivs = {R.mipmap.ic_launcher,R.mipmap.
ic_launcher_round,R.drawable.ic_launcher_foreground};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
//初始化listview
mlistview = (ListView)findViewById(R.id.lv);
//创建一个Adapter对象实例
MyBaseAdapter myBaseAdapter = new MyBaseAdapter();
//为listView添加自己的适配器
mlistview.setAdapter(myBaseAdapter);
}
//创建一个自己的适配器
class MyBaseAdapter extends BaseAdapter{
@Override
public int getCount() {
return names.length;
}
@Override
public Object getItem(int i) {
return names[i];
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
//加载items
View view1 = View.inflate(MainActivity.this,R.layout.activity_main,null);
TextView name = (TextView)view.findViewById(R.id.name);
TextView description = (TextView)view.findViewById(R.id.description);
ImageView iv = view.findViewById(R.id.iv);
name.setText(names[i]);
description.setText(descriptions[i]);
iv.setBackgroundResource(ivs[i]);
return view1;
}
}
}
activity_main布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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=".MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_margin="10dp"
android:src="@android:mipmap/sym_def_app_icon"/>
<LinearLayout
android:id="@+id/lin"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_toRightOf="@+id/iv">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20dp"
android:textColor="@android:color/holo_red_light"
android:text="my name is Jone"/>
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="3"
android:text="this is some description about name"/>
</LinearLayout>
</RelativeLayout>
listview布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
更多推荐
已为社区贡献1条内容
所有评论(0)