آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته و مقاله های فناوری اطلاعات

آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته و مقاله های فناوری اطلاعات

آموزش برنامه نویسی و مقاله های IT

آموزش برنامه نویسی از مبتدی تا پیشرفته در این سایت به کمک جمعی از دوستان برنامه نویس خوش ذوق می باشد.

بایگانی

حذف آیتم از لیست ویو

چهارشنبه, ۵ ارديبهشت ۱۳۹۷، ۱۱:۰۴ ق.ظ
میخواهیم وقتی کاربر برروی یکی از آیتم ها به مدت چندثانیه لمس کرد یک پیغام نمایش دهیم که در صورت تایید کاربر آیتم مورد نظر از لیست حذف شود.
لیست import های لازم :
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import android.os.Bundle;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
 ابتدا در کلاس MainActivity بعد از خط
String[] str = { "abbas", "ali", "hasan", "sajjad",
			"ehsan", "farhad", "hamid", "reza" };
	ArrayAdapter<String> adapter;
 یک لیست از نوع رشته ای با نام arr تعریف می کنیم:
List<String> arr;
 داخل متد  onCreate رفته و arr را مقداردهی می کنیم:
protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		 arr =new ArrayList<String>(Arrays.asList(str));
.
.
.
 همچنین آداپترمون رو به شکل زیر تغییر می دیم :
adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, arr);
 بعد از پایان متد onListItemClick یک متد جدید به نام removeItemFromList با ویژگی های زیر تعریف می کنیم:
protected void removeItemFromList(int position) {
		final int deletePosition = position;
		// نمایش یک پنجره پیغام
		AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);

		alert.setTitle("حذف");
		alert.setMessage("آیا میخواهید آیتم از لیست حذف شود؟");
		alert.setPositiveButton("بله", new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {

				// کارهایی که بعد از کلیک برروی بله انجام می گیره
				// حذف آیتم از لیست و اطلاع به آداپتر که لیست تغییر کرده اون رو
				// به روز کن
				arr.remove(deletePosition);
				adapter.notifyDataSetChanged();
				adapter.notifyDataSetInvalidated();

			}
		});
		alert.setNegativeButton("خیر", new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// کارهایی که بعد از کلیک برروی خیر انجام میگیره
				// حذف پیغام نمایش داده شده
				dialog.dismiss();
			}
		});

		alert.show();
	}
 خب به متد oncreate بر گردید بعد از پایان
ed.addTextChangedListener
.
.
.
 کد زیررا اضافه کنید:
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
			//وقتی برروی لیست چند ثانیه لمس شود
			@Override
			public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
					int position, long arg3) {
				//صدا زدن متد حذف آیتم از لیست و دادن موقعیت آیتم مورد نظر در لیست یه متد
				removeItemFromList(position);

				return true;
			}
		});
 کار تمومه به همین راحتی ، حالا کافیه برنامه رو اجرا و برروی یکی از آیتم ها چند ثانیه لمس کنید تا بعد از تایید پیغام نمایش داده شده آیتم از لیست حذف شود
hazfitemazlvdaalvapnj
 باتشکر از سایت اسفندونه
  • امیر دولت آبادی

حذف آیتم از لیست ویو

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی