0

問題の答えが見つかりませんでした。いくつかの TextView と 1 つの ListView を含む Main XML があります。問題は、List が Main xml に表示されると、リストビューの外側にある Texview が追加されるため、各 Item を取得することです。 TOTALテキストビューとリストは、下部ではなくすべてのXMLレイアウトに表示されるため、何が間違っているのかわかりません

あなたの助けのために進んでthx

よろしく

ここに私のファイルがあります

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TableLayout
    android:id="@+id/TableLayout01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:stretchColumns="1" >
    <TableRow>
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Total Expenses $"
            android:textColor="@android:color/white"
            android:textSize="25sp"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/tvTotalGastos"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:textColor="@android:color/white"
            android:textSize="25sp"
            android:textStyle="bold" />
    </TableRow>
</TableLayout>
<TableLayout
    android:id="@+id/TableLayout02"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/TableLayout01"
    android=""
    android:orientation="horizontal" >
    <TableRow>
        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Date"
            android:textColor="@android:color/white" />
        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Description"
            android:textColor="@android:color/white" />
        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_margin="4dip"
            android:layout_weight="1"
            android:padding="10dip"
            android:text="Amount"
            android:textColor="@android:color/white" />
    </TableRow>
</TableLayout>
<ListView
    android:id="@+id/listview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</ListView>

マイ行 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="wrap_content"
android:orientation="horizontal"
android:paddingBottom="6dip"
android:paddingTop="4dip" >


  <TextView
        android:id="@+id/tvDate"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_margin="4dip"
        android:layout_weight="1"
        android:padding="10dip"
        android:text="Date" />

    <TextView
        android:id="@+id/tvDescription"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_margin="4dip"
        android:layout_weight="1"
        android:padding="10dip"
        android:text="Description" />

    <TextView
        android:id="@+id/tvAmount"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_margin="4dip"
        android:layout_weight="1"
        android:padding="10dip"
        android:text="Amount" />


</LinearLayout>

そして私のJavaクラス

public class GastosListActivity extends ListActivity {

private DatabaseHandler dbh;
private List<Datos> datos;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.gastoslist);

    //ListView list2= (ListView) findViewById(R.id.listview);

    // new obj databasehandler
    dbh = new DatabaseHandler(this);
    datos = dbh.getAllData();

    ArrayList<Map<String, String>> list = buildData();
    String[] from = { "Date", "Description","Amount" };
    int[] to = { R.id.tvDate, R.id.tvDescription,R.id.tvAmount };

    SimpleAdapter adapter = new SimpleAdapter(this, list,
            R.layout.gastoslist, from, to);
    setListAdapter(adapter);

}
private ArrayList<Map<String, String>> buildData() {

    ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
    for (Datos dn : datos) {            
        list.add(putData(dn.get_fecha(), dn.get_concepto(),     dn.get_cantidad()));


    }
    return list;    

}

private HashMap<String, String> putData(String date, String description, String amount) {
    HashMap<String, String> item = new HashMap<String, String>();
    item.put("Date", date);
    item.put("Description", description);
    item.put("Amount", amount);
    return item;
}



}
4

1 に答える 1

0

問題解決、arraylist の代わりに Cursor を使用してコードを変更します

dbh = new DatabaseHandler(this);


        Cursor cursor = dbh.obtenerDatos();
        String[] from = new String[] { dbh.COLUMN_FECHA,
                dbh.COLUMN_CONCEPTO, dbh.COLUMN_CANTIDAD };
        int[] to = new int[] { R.id.tvDate, R.id.tvDescription,
                R.id.tvAmount };

        cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor,
                from, to);

        listContent.setAdapter(cursorAdapter);
于 2012-05-27T15:26:17.790 に答える