Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我在创建ListActivity时出错_Java_Android - Fatal编程技术网

Java 我在创建ListActivity时出错

Java 我在创建ListActivity时出错,java,android,Java,Android,错误是- 541-541/com.example.anabil.globaloilenergy E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView 这是我的代码: MainList.java package com.example.anabil.globaloilenergy.Ma

错误是-

541-541/com.example.anabil.globaloilenergy E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
这是我的代码:

MainList.java


package com.example.anabil.globaloilenergy.MainMenuList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;

import com.example.anabil.globaloilenergy.R;

import java.lang.reflect.Array;


public class MainList extends ArrayAdapter<String> {
    private final Context context;
    //private final int res;
    private final String [] list;


    public MainList(Context context, String[] objects) {
        super(context, R.layout.activity_main_list, objects);
        this.context = context;
        //this.res = res;
        this.list = objects;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.activity_main_list,parent,false );
        View row = inflater.inflate(R.layout.activity_main_list , parent , false);
        TextView tv = (TextView) row.findViewById(R.id.title);
        ImageView iv = (ImageView) row.findViewById(R.id.nextArrow);
        String option = list[position];
        if (option.equals("item1")){
            tv.setText("About Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item2")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item3")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item4")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item5")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        return super.getView(position, convertView, parent);
    }
}
做以下更改

convertView = inflater.inflate(R.layout.activity_main_list , parent , false);  

而不是

return super.getView(position, convertView, parent);

像这样修改适配器类

package com.example.anabil.globaloilenergy.MainMenuList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;

import com.example.anabil.globaloilenergy.R;

import java.lang.reflect.Array;


public class MainList extends ArrayAdapter<String> {
    private final Context context;
    //private final int res;
    private final String [] list;
 LayoutInflater inflater;

    public MainList(Context context, String[] objects) {
        super(context, R.layout.activity_main_list, objects);
        this.context = context;
        //this.res = res;
        this.list = objects;
        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

       View row = convertView;
        if (row == null)
            row = inflater.inflate(R.layout.activity_main_list, null);

        TextView tv = (TextView) row.findViewById(R.id.title);
        ImageView iv = (ImageView) row.findViewById(R.id.nextArrow);
        String option = list[position];
        if (option.equals("item1")){
            tv.setText("About Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item2")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item3")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item4")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item5")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        return row;
    }
}
返回行而不是返回super.getViewposition、convertView、父级
return convertView;
return super.getView(position, convertView, parent);
package com.example.anabil.globaloilenergy.MainMenuList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;

import com.example.anabil.globaloilenergy.R;

import java.lang.reflect.Array;


public class MainList extends ArrayAdapter<String> {
    private final Context context;
    //private final int res;
    private final String [] list;
 LayoutInflater inflater;

    public MainList(Context context, String[] objects) {
        super(context, R.layout.activity_main_list, objects);
        this.context = context;
        //this.res = res;
        this.list = objects;
        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

       View row = convertView;
        if (row == null)
            row = inflater.inflate(R.layout.activity_main_list, null);

        TextView tv = (TextView) row.findViewById(R.id.title);
        ImageView iv = (ImageView) row.findViewById(R.id.nextArrow);
        String option = list[position];
        if (option.equals("item1")){
            tv.setText("About Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item2")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item3")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item4")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        else if (option.equals("item5")){
            tv.setText("Contact Us");
            iv.setImageResource(R.drawable.gonext); }
        return row;
    }
}