Java NullPointerException ArrayAdapter适配器Android XML
你好吗?android的问题来了,这是一个NullPointerException ArrayAdapter适配器。对不起,我是一个初级开发人员 我有这个密码Java NullPointerException ArrayAdapter适配器Android XML,java,android,xml,nullpointerexception,Java,Android,Xml,Nullpointerexception,你好吗?android的问题来了,这是一个NullPointerException ArrayAdapter适配器。对不起,我是一个初级开发人员 我有这个密码 private String[] titulares; private ListView listadoTitulos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s
private String[] titulares;
private ListView listadoTitulos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Permisos
StrictMode.ThreadPolicy permiso = new StrictMode.ThreadPolicy.Builder().permitAll().build();
//Damos los permisos
StrictMode.setThreadPolicy(permiso);
listadoTitulos = (ListView) findViewById(R.id.lvtitulos);
try {
url = new URL("http://www.videotutoriales.es/android-xml/cursos.xml");
leerXml();
} catch (MalformedURLException e) {
e.printStackTrace();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,titulares);
listadoTitulos.setAdapter(adapter);
}
在这一行
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,titulares);
listadoTitulos.setAdapter(adapter);
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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:src="@mipmap/logon" />
<ListView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/lvtitulos"
android:layout_below="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
怎么了
多谢各位
编辑
出现异常的原因是您从未初始化titulares数组,但在创建适配器时尝试将其用作数据:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,titulares);
listadoTitulos.setAdapter(adapter);
在适配器创建或使用内容填充它之前(如果您在那里),会抛出NullPointerException,因为它试图将值titularis传递给ArrayAdapter的构造函数,但您从未定义过titularis,因此它仍然为null 尝试在onCreate中初始化titularis,如下所示
titularis = new String[2];
初始化ArrayAdapter之前,请检查internet权限或internet访问。因此,试图传递给ArrayAdapter的字符串数组没有正确运行的方法没有得到初始化,最终将null传递给ArrayAdapter构造函数 此外,在您的行中插入leerxml时也会遇到问题 iftitulo=真{ 换成 伊夫提特罗{ 正如您在API中看到的,ArrayAdapter构造函数接收三个参数 ArrayAdapterContext上下文,int资源,T[]对象 当前环境 包含要在实例化视图时使用的TextView的布局文件的资源ID。 要在ListView中表示的对象。此值不能为null。
尝试在Try-catch块中放置一些日志消息,您将看到该方法没有正确运行。您的titulares为null。leerXml在哪里?还可以在UIThread中而不是在主线程中更新您的UI。编辑填充titularesEdit的带有leerXml的post函数编辑填充titular的带有leerXml的post函数esEdit post with leerXML函数,该函数填充了titulares您确定它都在这个方法中工作吗,您调试过吗?当适配器创建这两个字段中的哪一个为空时:1.titulares和2.ListadotitulasGood,我的意思是titulares=新字符串[titulos.size];这条线路我的解决方案是他无法访问internet,因此没有填充阵列。非常感谢您的帮助
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,titulares);
listadoTitulos.setAdapter(adapter);
titulares = new String[your_lenght];
titularis = new String[2];