PDA

View Full Version : نمایش حالت انتخاب شده ایتم در لیست ویو



r_khan
دوشنبه 07 مهر 1393, 12:10 عصر
با سلام
میخوام در لیست ویو به طور پیشفرض سطر اول در حالت انتخاب شده باشد و با کلیک بر روی هر ایتمی ان ایتم به حالت انتخاب شده برود.
چطور میشود این کار را کرد؟

harani
دوشنبه 07 مهر 1393, 12:47 عصر
از android:listselector="#00ff00"; در xml مربوط به listview وارد کن .فقط این هر کدوم آیتم که روش کلیک میشه انجام میشه میتونید برای اینکه سطر اول انتخاب شه هم بگید list.setselectionPosition(0); (البته از AUTO COMPELETE حتماً استفاده کنید نمیدونم درست نوشتم یا ن)

r_khan
سه شنبه 08 مهر 1393, 08:22 صبح
از android:listselector="#00ff00"; در xml مربوط به listview وارد کن .فقط این هر کدوم آیتم که روش کلیک میشه انجام میشه میتونید برای اینکه سطر اول انتخاب شه هم بگید list.setselectionPosition(0); (البته از AUTO COMPELETE حتماً استفاده کنید نمیدونم درست نوشتم یا ن)
ممنون
میخوام در حالت اول مثلا سطر 0 در حالت انتخاب باشه و رنگش هم با بقیه فرق کنه و وقتی کاربر سطر دیگری را انتخاب کرد رنگ سطر 0 به حالت سابق خود برگردد
و رنگ سطر انتخابی متفاوت بشه. (شبیه حالت ویندوز)
وبعد یه دکمه حذف گذاشتم که وقتی روی این دکمه کلید کرد سطر انتخابی حذف بشه.
برای حذف از list.SelectedItemPosition استفاده میکنم ولی خطا میده و SelectedItemPosition مقدار -1 را برمی گرداند

harani
سه شنبه 08 مهر 1393, 09:14 صبح
شما از همون
android:listselector="#00ff00";
استفاده کنید و
برای انتخاب پیش فرض سطر اول هم مثلاً تو onResume بیا بگو list.setSelection(0);

r_khan
سه شنبه 08 مهر 1393, 09:27 صبح
شما از همون
android:listselector="#00ff00";
استفاده کنید و
برای انتخاب پیش فرض سطر اول هم مثلاً تو onResume بیا بگو list.setSelection(0);
این کار را انجام میدم ولی تا زمانی که روی سطر نگه داشتیم رنگ مورد نظر را به خود میگیرد و وقتی که دست خود را بر میداریم به رنگ سابق خود برمیگردد

r_khan
سه شنبه 08 مهر 1393, 11:04 صبح
راه حلش را پیدا کردم
برای اینکه رو هر سطری که کلیک کردیم background ان سطر تغییر کند به صورت زیر عمل می کنیم
اول یه متغیز private از نوع private AdapterView.ItemClickEventArgs selectedItem; تعریف میکنیم
و بعد در رویداد itemkick داریم



if (selectedItem != null)
{

selectedItem.View.SetBackgroundColor(Color.Transpa rent);

}
selectedItem = e;
selectedItem.View.SetBackgroundColor(Color.ParseCo lor("#640ec5f8"));