آموزش حذف آیتم از ListView در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید بهآموزش حذف آیتم از ListView در برنامه نویسی اندروید می پردازیم منظور از حذف آیتم حذف هر ردیف است در ادامه با ما همراه باشید.
در این آموزش یک list داریم که شامل یکسری داده sample است. و با کلیک بروی هر آیتم از listview یک پیام برای شما نمایش داده می شود که آیا می خواهید اینم آیتم را حذف کنید
ابتدا در layout خود که در اینجا نام آن برابر با activity_main.xml است کد زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> |
بعد از آن باید در پوشه layout یک فایل به نام list_row.xml ایجاد کنید (شکل ظاهری هر کدام از Listview است)
1 2 3 4 5 6 7 8 | <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dip" android:textSize="16dip" android:textStyle="bold" > </TextView> |
و در آخر کد مربوط به MainActivity.java همانند زیر می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | package ir.programchi; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { ListView lv; ArrayAdapter<String> adapter; List<String> arr; String[] language = { "C", "Java", "C++", "C-sharp", ".Net", "SQL", "Android", "PhoneGap", "Ios", "windows", "PHP", "Phyton", "Perl" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.listView1); arr = new ArrayList<String>(Arrays.asList(language)); adapter = new ArrayAdapter<String>(this, R.layout.list_row, arr); lv.setAdapter(adapter); lv.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position, long arg3) { removeItemFromList(position); return true; } }); } protected void removeItemFromList(int position) { final int deletePosition = position; AlertDialog.Builder alert = new AlertDialog.Builder( MainActivity.this); alert.setTitle("Delete"); alert.setMessage("Do you want delete this item?"); alert.setPositiveButton("YES", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { arr.remove(deletePosition); adapter.notifyDataSetChanged(); adapter.notifyDataSetInvalidated(); } }); alert.setNegativeButton("CANCEL", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alert.show(); } } |
این آموزش هم به پایان رسید.
موفق و موید باشید.