CursorAdapter
を使用してデータを取得するためにデータベースを読み取るListView
が入力されています。まだ援助の答えはありません - カスタムCursorAdapterを使用して作成されたListViewのEditTextsからデータを読み取る方法?
ListItem
には、上記のデータが読み込まれたTextView
と、そこからデータを読み込み、その中の値でデータベースを更新する2つのEditTexts
が含まれています。ここで
がupdater_list_item.xmlです:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/good_name"
android:layout_width="wrap_content"
android:layout_height="@dimen/height_of_list_item"
android:paddingLeft="@dimen/padding"
android:gravity="center"
tools:text="Frozen Chicken"/>
<EditText
android:id="@+id/sold_edit_text"
android:layout_width="wrap_content"
android:layout_height="@dimen/height_of_list_item"
android:paddingLeft="@dimen/padding"
android:gravity="center"
android:inputType="number"
android:hint="@string/hint_remove_quantity"/>
<EditText
android:id="@+id/received_edit_text"
android:layout_width="wrap_content"
android:layout_height="@dimen/height_of_list_item"
android:paddingLeft="@dimen/padding"
android:gravity="center"
android:inputType="number"
android:hint="@string/hint_add_quantity"/>
</LinearLayout>
のOnCreate:
// Find the views
ListView list = (ListView) findViewById(R.id.list_updater);
TextView textView = (TextView) findViewById(R.id.updater_empty_view);
// Set the empty view
list.setEmptyView(textView);
// Set the ListView to the custom CursorAdapter
mAdapter = new UpdaterCursorAdapter(this, null);
list.setAdapter(mAdapter);
// the loader requests the data from the database and add it to the adapter
getLoaderManager().initLoader(STORE_LOADER, null, this);
編集: ここでは、カスタムCursorAdapterからデータを取得する方法
public class UpdaterCursorAdapter extends CursorAdapter {
public UpdaterCursorAdapter(Context context, Cursor c) {
super(context, c, 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return LayoutInflater.from(context).inflate(R.layout.updater_list_item, parent, false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView nameTextView = (TextView) view.findViewById(R.id.good_name);
EditText soldEditText = (EditText) view.findViewById(R.id.sold_edit_text);
EditText receivedEditText = (EditText) view.findViewById(R.id.received_edit_text);
int nameColumnIndex = cursor.getColumnIndex(StoreEntry.COLUMN_GOOD_NAME);
String goodName = cursor.getString(nameColumnIndex);
nameTextView.setText(goodName);
}
}
ためのコードがありますそれぞれの2つのEditTexts
Item
彼ListView
?!
注:MenuItem
をクリックすると、データがデータベースに保存されますので、onItemClickListener
またはaddTextChangedListener
は実行されません。
これはアダプタに含まれます。あなたのアダプターコードを掲示すれば、私たちはあなたを助けることができるでしょう。 – JDenais
私は投稿しました.. –
http://stackoverflow.com/questions/23716432/cursoradapter-in-listview?rq=1 –