问题已解决,与HorizontalListView无关
我正在开展大学项目,编写Android应用程序。为此需要一个HorizontalListView。我使用过这个来源:http://www.dev-smart.com/archives/34
这个列表为我提供了我需要的所有东西(加上看起来不错),所以如果可能,我不想改变。
HorizontalListView中的以下方法让我感到悲伤。对于前几个项目,它顺利运行,然后在第一行崩溃,只是给出一个NullPointerException。 (我怀疑崩溃是否与显示的列表中元素的宽度有关,但我不确定......它绝不会覆盖整个屏幕)
我使用自定义适配器填充列表,这似乎是问题所在。我尝试使用普通的ArrayAdapter只使用字符串,并且工作正常。我需要自定义适配器,因为我必须为列表中的每个元素显示一个TextView和一个Button。
HorizontalListView.java
private void fillListRight(int rightEdge, final int dx) {
while(rightEdge + dx < getWidth() && mRightViewIndex < mAdapter.getCount()) {
View child = mAdapter.getView(mRightViewIndex, mRemovedViewQueue.poll(), this);
addAndMeasureChild(child, -1);
rightEdge += child.getMeasuredWidth();
if(mRightViewIndex == mAdapter.getCount()-1) {
mMaxX = mCurrentX + rightEdge - getWidth();
}
if (mMaxX < 0) {
mMaxX = 0;
}
mRightViewIndex++;
}
}
的test.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ch.ethz.webofenergy.client.ui.element.HorizontalListView
android:id="@+id/horizontalListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:gravity="center_horizontal" />
</LinearLayout>
listitem.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/listElement"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:textSize="30dip"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/testButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
关于我如何能够找出问题的一些指示将不胜感激。我知道这不是一个非常明确的问题:/。