Android 不幸的是,当我使用Eclipse在emulator中启动我的应用程序时,Myapp已经停止
MainActivity.java//这是我的主要java活动文件 当我启动这个程序时,我会很不幸地发现Myapp停止了,所以我认为这是NULLPOINTER异常,但我仍然无法修复它 所以请大家帮帮我Android 不幸的是,当我使用Eclipse在emulator中启动我的应用程序时,Myapp已经停止,android,eclipse,listview,android-emulator,onclicklistener,Android,Eclipse,Listview,Android Emulator,Onclicklistener,MainActivity.java//这是我的主要java活动文件 当我启动这个程序时,我会很不幸地发现Myapp停止了,所以我认为这是NULLPOINTER异常,但我仍然无法修复它 所以请大家帮帮我 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.news.MainActivity" >
<ListView
android:id="@+id/list1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</ListView>
</RelativeLayout>
getView方法不正确。请按以下方式更改getView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
if(convertView==null)
{
view = new ViewHolder();
convertView=inflater.inflate(R.layout.single_row,null);
view. textView=(TextView)convertView.findViewById(R.id.title);
view.imageView=(ImageView)convertView.findViewById(R.id.list_image);
convertView.setTag(view);
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.textView.setText(data[position]);
view.imageView.setImageResource(image_id[position]);
return convertView;
}
public static class ViewHolder
{
public TextView textView;
public ImageView imageView;
}
}
另外,在适配器构造中初始化充气机:
要正确理解listview的回收机制,您必须查阅。但是,先生,当我没有在listview上使用evenhalders时,它工作正常,可以用它们的名称视图显示图像
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.news.MainActivity" >
<ListView
android:id="@+id/list1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</ListView>
</RelativeLayout>
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
if(convertView==null)
{
view = new ViewHolder();
convertView=inflater.inflate(R.layout.single_row,null);
view. textView=(TextView)convertView.findViewById(R.id.title);
view.imageView=(ImageView)convertView.findViewById(R.id.list_image);
convertView.setTag(view);
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.textView.setText(data[position]);
view.imageView.setImageResource(image_id[position]);
return convertView;
}
public static class ViewHolder
{
public TextView textView;
public ImageView imageView;
}
}
LayoutInflater inflater;
public Customlistadapter(Activity context,int[] image_id2, String[] text){
super(context, R.layout.single_row,text);
// TODO Auto-generated constructor stub
this.data=text;
this.image_id=image_id2;
this.context=context;
inflater = LayoutInflater.from(this.context);
}