M
muck
Ambitioniertes Mitglied
- 7
Hallo zusammen,
ich habe eine ListView erstellt. Inhalt ist das Ergebnis einer DB-Abfrage. Nun möchte ich das wenn der User ein Item anglickt das dieses ausgeblendet wird. Ich habe versucht die hier (https://www.android-hilfe.de/forum/...9/problem-mit-listactivity-refresh.46813.html) beschriebene Lösung auf meinen Code zu übertragen aber irgendwie bekomme ich es nicht hin. Für einen Lösungsansatz wäre ich sehr dankbar.
Im Voraus vielen Dank.
Mein Code:
activity_product_list.xml
product_list_view.xml
ich habe eine ListView erstellt. Inhalt ist das Ergebnis einer DB-Abfrage. Nun möchte ich das wenn der User ein Item anglickt das dieses ausgeblendet wird. Ich habe versucht die hier (https://www.android-hilfe.de/forum/...9/problem-mit-listactivity-refresh.46813.html) beschriebene Lösung auf meinen Code zu übertragen aber irgendwie bekomme ich es nicht hin. Für einen Lösungsansatz wäre ich sehr dankbar.
Im Voraus vielen Dank.
Mein Code:
Code:
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_product_list);
super.onCreate(savedInstanceState);
}
public void onStart() {
ListView listView = showProductList();
}
@Override
protected void onListItemClick(ListView lv, View v, int pos, long id) {
super.onListItemClick(lv, v, pos, id);
[COLOR=red][B]//Wei kann ich das geglickte Item ausblenden[/B][/COLOR]
}
private ListView showProductList() {
ListView listView = (ListView) findViewById( android.R.id.list );
Cursor productList = dbConn.rawQuery("SELECT _id, count || unit || ' ' || name as sum, isopen FROM products WHERE irshoppinglists = " + longListID + " ORDER BY name", null);
productListAdapter = new ProductListAdapter (this, R.layout.product_list_view, productList, new String[] {"sum"}, new int[] {R.id.txt_product});
setListAdapter(productListAdapter);
startManagingCursor(productList);
return listView;
}
public class ProductListAdapter extends SimpleCursorAdapter {
private int sumIndex = -1;
class ViewHolder {
private TextView tvSum;
}
public ProductListAdapter(Context context, int layout, Cursor productList, String[] sum, int[] productIds) {
super(context, layout, productList, sum, productIds);
sumIndex = productList.getColumnIndex("sum");
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final View view = super.newView(context, cursor, parent);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.tvSum = (TextView) view.findViewById(R.id.txt_product);
view.setTag(viewHolder);
return view;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
final ViewHolder viewHolder = (ViewHolder) view.getTag();
viewHolder.tvSum.setText(cursor.getString(sumIndex));
}
}
activity_product_list.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:choiceMode="multipleChoice"
/>
</LinearLayout>
Code:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
android:id="@+id/txt_product"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:gravity="center_vertical"
android:checkMark="?android:attr/textCheckMark"
android:paddingLeft="6dip"
android:paddingRight="6dip"
/>