为什么我的listview在自定义drawerlayout中给出null错误?

时间:2017-10-26 19:30:37

标签: android listview drawerlayout

我得到空指针异常错误,我无法弄清楚 为什么我的listview在自定义drawerlayout中给我null错误? 为什么我的listview中出现空值错误?因为我夸大了我的列表视图。 这是我的主要xml

 <android.support.v4.widget.DrawerLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/drawer_layout"
 android:layout_width="match_parent"
 android:layout_height="match_parent" >


 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/container_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <Toolbar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/toolbar"
            tools:targetApi="lollipop"></Toolbar>
    </LinearLayout>


    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#FFFFFF"
    android:choiceMode="singleChoice"
    android:divider="@android:color/darker_gray"
    android:dividerHeight="1dp" />

</android.support.v4.widget.DrawerLayout>

这是我的自定义列表视图xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:background="?android:attr/activatedBackgroundIndicator"
 android:minHeight="?android:attr/listPreferredItemHeightSmall"
 android:padding="10dp" >

<ImageView
    android:id="@+id/imageViewIcon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:paddingRight="10dp" />

<TextView
    android:id="@+id/textViewName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@+id/imageViewIcon"
    android:paddingRight="10dp"
    android:text="Item Name"
    android:textColor="@android:color/black"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    />
</RelativeLayout>

这是主要活动injava

public class Main2Activity extends Activity {

private DrawerLayout drawerLayout;
private ListView listView2;
String[] values = new String[]{"Electrition", "Plumber", "Machenist"};
int IMAGES[] = {R.drawable.caontact_icon, R.drawable.home_icon, R.drawable.logout_icon};
Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

    listView2 = (ListView) findViewById(R.id.left_drawer);
    listView2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

        }
    });

    Main2Activity.CostumAdapter costumAdapter = new Main2Activity.CostumAdapter();
    listView2.setAdapter(costumAdapter);
}

public class CostumAdapter extends BaseAdapter {
    @Override
    public int getCount() {
        return values.length;
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        view = getLayoutInflater().inflate(R.layout.nav_listview, null);

        TextView txt_one = (TextView) view.findViewById(R.id.textViewName);
        ImageView img_view = (ImageView) view.findViewById(R.id.imageViewIcon);
        img_view.setImageResource(IMAGES[i]);
        txt_one.setText(values[i]);
        return view;
    }
    }
}

这是我在catlog中的错误。

 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setOnItemClickListener(android.widget.AdapterView$OnItemClickListener)' on a null object reference
                                                                            at com.example.ehtisham.tevta.Main2Activity.onCreate(Main2Activity.java:33) 

0 个答案:

没有答案