这个异常真是让人摸不着头脑。。。。。
一个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>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐