1

我有一个关于将 onClick 添加到 ListView 的问题,我尝试尽可能多地遵循 Android NotePad 教程,但是对于我的布局,我不太明白如何添加它。

这是活动类,它简单地填充视图

 public class RemoveForm extends ListActivity {
private DB_Conn DB_Handler;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DB_Handler = new DB_Conn(this);
        DB_Handler.open();
        fillData();


}

protected void onListItemClick(View view) {
    Context context = getApplicationContext();
    CharSequence text = "Hello toast!";
    int duration = Toast.LENGTH_SHORT;

    Toast toast = Toast.makeText(context, text, duration);
    toast.show();

}

private void fillData() {
    // Get all of the notes from the database and create the item list
    Cursor c = DB_Handler.fetchAll();
    startManagingCursor(c);
    String[] from = new String[] { DB_Conn.KEY_MODULECODE,
        DB_Conn.KEY_DAY,
        DB_Conn.KEY_TIME,
        DB_Conn.KEY_DURATION,
        DB_Conn.KEY_TYPE,
        DB_Conn.KEY_ROOM,DB_Conn.KEY_ROWID };
int[] to = new int[] { R.id.MODULECODE,
        R.id.DAY,
        R.id.TIME,
        R.id.DURATION,
        R.id.TYPE,
        R.id.ROOM,
        R.id.ROWID};

// Now create an array adapter and set it to display using our row
    SimpleCursorAdapter entry =
    new SimpleCursorAdapter(this, R.layout.list, c, from, to);
    setListAdapter(entry);
}
}

这是每条记录的 xml。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:orientation="vertical">
    <LinearLayout android:id="@+id/linearLayout1" 
        android:layout_height="wrap_content"
        android:layout_width="match_parent" 
        android:layout_weight="1"
        android:baselineAligned="false">
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout2" android:layout_height="wrap_content"
    android:layout_width="match_parent" android:layout_weight="1"
    android:baselineAligned="false">
    </LinearLayout>
    <RelativeLayout 
        android:layout_height="wrap_content" 
        android:id="@+id/relativeLayout1" android:layout_width="match_parent">
        <TextView android:id="@+id/ROWID" 
                android:text="TextView"
                 android:layout_marginRight="5dip"
                  android:layout_alignParentLeft="true"
                   android:layout_height="wrap_content" 
                   android:layout_width="wrap_content"></TextView>
        <TextView android:id="@+id/MODULECODE" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:text="TextView" 
                android:layout_toRightOf="@+id/ROWID" 
                android:layout_alignTop="@+id/ROWID"></TextView>
        <TextView android:layout_marginLeft="25dip" 
                android:id="@+id/DAY" 
                android:layout_width="50dip" 
                android:layout_height="wrap_content" 
                android:text="TextView" 
                android:layout_below="@+id/MODULECODE" 
                android:layout_alignLeft="@+id/MODULECODE"></TextView>
        <TextView android:id="@+id/TIME" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TextView" 
        android:layout_toRightOf="@+id/DAY" 
        android:layout_alignTop="@+id/DAY" 
        android:layout_alignBottom="@+id/DAY"></TextView>
        <TextView android:id="@+id/DURATION" 
        android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
         android:text="TextView" 
         android:layout_toRightOf="@+id/TIME" 
         android:layout_alignTop="@+id/TIME" 
         android:layout_alignBottom="@+id/TIME"></TextView>
        <TextView android:id="@+id/ROOM" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TextView" 
        android:layout_toRightOf="@+id/MODULECODE" 
        android:layout_alignTop="@+id/MODULECODE"
        android:layout_alignBottom="@+id/MODULECODE"></TextView>
        <TextView android:id="@+id/TYPE" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TextView" 
        android:layout_toRightOf="@+id/ROOM" 
        android:layout_alignTop="@+id/ROOM" 
        android:layout_alignBottom="@+id/ROOM"></TextView>
    </RelativeLayout>

如果有人可以提供帮助,我现在将不胜感激。

4

1 回答 1

2

你必须覆盖

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {

 }
于 2012-05-01T03:19:48.910 回答