如何解决此 ListView 意外转换问题?
How to solve this ListView unexpected cast issue?
我想在我的主 activity 上显示 listView
,但我收到一条错误消息:意外转换为 ListViewCompat
:布局标签为 ListView
。
这是 java
代码 -
public class MainActivity extends ActionBarActivity {
//variable del toolbar o app_bar
private android.support.v7.widget.Toolbar toolbar;
//variable del list view
ListViewCompat l;
//arreglo que va a contener los datos de el listView
String [] parqueaderos = {"Las vegas","Los guayabos","Regional 1", "Regional 2"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//se le da el valor de el app_bar o toolbar que creamos a la variable toolbar que creamos en esta clase
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar);
//se aclara que no se va a usar el toolbar de android si no el mio (app_bar)
setSupportActionBar(toolbar);
//se le da el valor a a la variable del listView la "apariencia" del xmls del listView
**l = (ListViewCompat) findViewById(R.id.lista);**
//Se crea el array adapter que va a tomar los datos del array de Strings parqueaderos y los va a mostrar en el listView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,parqueaderos);
//se le pasa el adapter con el arreglo a la listView l
l.setAdapter(adapter);
}
这是布局代码 -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- incluimos el layout del app bar -->
<include
android:id="@+id/app_bar"
layout="@layout/app_bar">
</include>
<!-- Aquí va la imagen que se ve en la clase principal con el logo de la universdad -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/eafit4"
android:id="@+id/imgppal"
android:layout_below="@+id/app_bar"
android:layout_centerHorizontal="true" />
<!-- ésta es la lista que contiene los parqueaderos -->
<ListView
android:layout_below="@+id/imgppal"
android:layout_width="match_parent"
android:layout_height="389dp"
android:id="@+id/lista"
android:layout_weight="0.79" />
</RelativeLayout>
有人知道如何解决这个问题吗?
非常感谢阅读。
为什么要使用 ListViewCompat
?如果这不是您想要做的,请将所有 ListViewCompat
替换为 ListView
,因为 ListViewCompat
是 ListView
的子 class 并且您不能使用 base [=19] =] 到子 class。否则,在布局文件中使用 ListViewCompat
而不是 ListView
.
我想在我的主 activity 上显示 listView
,但我收到一条错误消息:意外转换为 ListViewCompat
:布局标签为 ListView
。
这是 java
代码 -
public class MainActivity extends ActionBarActivity {
//variable del toolbar o app_bar
private android.support.v7.widget.Toolbar toolbar;
//variable del list view
ListViewCompat l;
//arreglo que va a contener los datos de el listView
String [] parqueaderos = {"Las vegas","Los guayabos","Regional 1", "Regional 2"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//se le da el valor de el app_bar o toolbar que creamos a la variable toolbar que creamos en esta clase
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar);
//se aclara que no se va a usar el toolbar de android si no el mio (app_bar)
setSupportActionBar(toolbar);
//se le da el valor a a la variable del listView la "apariencia" del xmls del listView
**l = (ListViewCompat) findViewById(R.id.lista);**
//Se crea el array adapter que va a tomar los datos del array de Strings parqueaderos y los va a mostrar en el listView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,parqueaderos);
//se le pasa el adapter con el arreglo a la listView l
l.setAdapter(adapter);
}
这是布局代码 -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- incluimos el layout del app bar -->
<include
android:id="@+id/app_bar"
layout="@layout/app_bar">
</include>
<!-- Aquí va la imagen que se ve en la clase principal con el logo de la universdad -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/eafit4"
android:id="@+id/imgppal"
android:layout_below="@+id/app_bar"
android:layout_centerHorizontal="true" />
<!-- ésta es la lista que contiene los parqueaderos -->
<ListView
android:layout_below="@+id/imgppal"
android:layout_width="match_parent"
android:layout_height="389dp"
android:id="@+id/lista"
android:layout_weight="0.79" />
</RelativeLayout>
有人知道如何解决这个问题吗?
非常感谢阅读。
为什么要使用 ListViewCompat
?如果这不是您想要做的,请将所有 ListViewCompat
替换为 ListView
,因为 ListViewCompat
是 ListView
的子 class 并且您不能使用 base [=19] =] 到子 class。否则,在布局文件中使用 ListViewCompat
而不是 ListView
.