0

我更改了我的条目的布局,ListView现在 clickListener 不再工作了,我不知道如何修复它以及为什么它不再工作了。

这是填充列表的代码:

private void setList() {
        List<Subject> subjects = datasource.getAllSubjects();
        ArrayList<HashMap> cards = new ArrayList<HashMap>();


        for (int i=0; i < subjects.size(); i++) {
            HashMap card = new HashMap();
            card.put("listname", subjects.get(i).getSubject().toString());

            long count = cardsource.getNumberOfCardsOfSubject(subjects.get(i).getSubject().toString());
            card.put("count", "Number of Cards: " + count);
            cards.add(card);
        }

         SimpleAdapter sa = new SimpleAdapter(
                    getApplicationContext(),
                    (List<? extends Map<String, ?>>) cards,
                    R.layout.cards,
                    new String[] { "listname", "count",},
                    new int[] { R.id.CARD_SCREEN_NAME, R.id.CARD_TEXT}) {
                };

        listView.setAdapter(sa);
    }

我使用以下 XML 文件来定义每个条目的布局(选择这样做是因为我想添加子项):

<?xml version="1.0" encoding="utf-8"?>
<!-- A row of tweet data for display -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="20sp"
    android:orientation="vertical">

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

        <TextView
            android:id="@+id/CARD_SCREEN_NAME"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="AndroidZA"
            android:textSize="20sp"
            android:textStyle="bold"
            android:textColor="#000000" />

    </LinearLayout>

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

        <TextView android:id="@+id/CARD_TEXT"
            android:text="Hi, this is a tweet. It should be 140 characters or less"
            android:paddingRight="5dip"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textColor="#000000"/>

    </LinearLayout>
</LinearLayout>

这是我的点击监听器:

listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
                // TODO Auto-generated method stub
                Object item = listView.getAdapter().getItem(position);
                selectedItem = item.toString();

                goToDelete();
            }


        });

这是goToDelete()我用来转到新的 -Method的方法Acitity。我通过 aStringIntent因为我需要有关即将到来的所选主题的信息Activity。问题可能是我在 ClickListener 中没有正确获取这些信息:

Object item = listView.getAdapter().getItem(position);
selectedItem = item.toString(); 

但即使没有,goToDelete()也不会被调用。有人可以帮我解决这个问题吗?如果您需要更多信息,请告诉我!

4

0 回答 0