Android 为listview使用自定义适配器

Android 为listview使用自定义适配器,android,listview,adapter,Android,Listview,Adapter,我对android非常陌生,我正在尝试制作一个listview,它将显示我创建的类的详细信息 我的活动是: public class UserList extends ListActivity { private ListView lv; private ArrayList<Player> players; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved

我对android非常陌生,我正在尝试制作一个listview,它将显示我创建的类的详细信息

我的活动是:

public class UserList extends ListActivity {

private ListView lv;
private ArrayList<Player> players;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user_list);
    lv = (ListView) findViewById(R.id.UserListView);
    this.players = new ArrayList<Player>();
    this.players.add(new Player("AAAA"));
    this.players.add(new Player("BBBB"));
    PlayerAdapter pa = new PlayerAdapter(this, R.layout.userlist_list_item, this.players);
    lv.setAdapter(pa);
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/ListNameTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textStyle="bold"
            android:textSize="15sp"
            android:text="@string/username" />

        <TextView
            android:id="@+id/ListNameData"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/ListMoneyTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textStyle="bold"
            android:textSize="15sp"
            android:text="@string/money" />

        <TextView
            android:id="@+id/ListMoneyData"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/ListEXPTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textStyle="bold"
            android:textSize="15sp"
            android:text="@string/expList" />

        <TextView
            android:id="@+id/ListExpData"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:orientation="vertical" >

    <Button
        android:id="@+id/ListSwitchTo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/switchto" />

    <Button
        android:id="@+id/ListDeleteUser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/deleteuser" />
</LinearLayout>
它马上就崩溃了,我想不出怎么修复它。
感谢您的阅读并希望能帮助我

好的,您的问题出在适配器上。问题在于您的
转换视图
;您将创建一个新视图,
v
,这是您希望使用的视图。相反,您可以使用始终为空的
convertView
。这会导致引发
NPE
NullPointerException


简单的解决方法是直接放下
v
。您确实不需要为通用视图创建新名称<代码>convertView可以正常工作。或者,充气后,您可以将
v
分配给
convertView

您可以轻松使用baseadaper。看看这个例子


[

嘿,欢迎!作为一个小小的帮手,当你遇到崩溃并需要帮助时,请,请,也请发布堆栈跟踪。这比代码更能帮助我们诊断你的问题。你不需要对玩家进行类引用,这应该通过ArrayAdapter中的方法进行抽象。这就是为什么它在使用内置的方法,比如getItem()。我在扩展ArrayAdapter而不是BaseAdapter的人身上经常看到这种情况。我不是在模拟器上运行应用程序,而是在手机上运行应用程序,有没有办法通过这种方式获取堆栈跟踪?我这样做了,但没有做任何更改。我已经用最新的适配器更新了我的原始帖子。你需要发布跟踪。我找不到iss我已经添加了堆栈跟踪,希望您现在可以找到我的问题。此异常与适配器无关。您的调试库正在抛出一个空引用。此答案实际上没有解决任何问题。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/ListNameTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textStyle="bold"
            android:textSize="15sp"
            android:text="@string/username" />

        <TextView
            android:id="@+id/ListNameData"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/ListMoneyTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textStyle="bold"
            android:textSize="15sp"
            android:text="@string/money" />

        <TextView
            android:id="@+id/ListMoneyData"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/ListEXPTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textStyle="bold"
            android:textSize="15sp"
            android:text="@string/expList" />

        <TextView
            android:id="@+id/ListExpData"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.5"
    android:orientation="vertical" >

    <Button
        android:id="@+id/ListSwitchTo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/switchto" />

    <Button
        android:id="@+id/ListDeleteUser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/deleteuser" />
</LinearLayout>
[2014-07-10 20:34:25 - ddms] null
java.lang.NullPointerException
at org.eclipse.debug.internal.ui.DebugUIPlugin.launchInBackground(DebugUIPlugin.java:1286)
at org.eclipse.debug.ui.DebugUITools.launch(DebugUITools.java:753)
at      com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.debugRunningApp(AndroidLaunchController.java:178)
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.clientChanged(AndroidLaunchController.java:1749)
at com.android.ddmlib.AndroidDebugBridge.clientChanged(AndroidDebugBridge.java:926)
at com.android.ddmlib.Device.update(Device.java:774)
at com.android.ddmlib.Client.update(Client.java:903)
at com.android.ddmlib.HandleWait.handleWAIT(HandleWait.java:88)
at com.android.ddmlib.HandleWait.handleChunk(HandleWait.java:66)
at com.android.ddmlib.MonitorThread.callHandler(MonitorThread.java:414)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:322)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)