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;
}
}