آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

چرا gridview به درستی عمل نمیکنه؟

PandaStudio  11 سال پیش  11 سال پیش
0 0

سلام دوستان

من توی برنامم از گرید ویو استفاده کردم و طبق همون listview همه موارد را نوشتم. توی adapter در قسمت fill یکسری if نوشتم که بر اساس اونها یک imageView داخل gridview تصویرش ست میشه. مشکل اینجاست که وقتی gridview را بالا پایین میکنم آیتم ها جابجا میشن علت چیه؟

0 0
اگه منظورت اینه که خواستی برای گرید ویو ایمیج بزاری که نیازی به if نبود ! برای راهنمایی بیشتر لطفا کد یا تصاویرشو بزار (11 سال پیش)
0 0
عکسش مهم نیست. مساله اینه که با جابجا کردن Scroll آیتم ها جاشون عوض میشه و بهم میریزن :-؟ (11 سال پیش)
0 0
تنها چیزی که به ذهنم میرسه پیاده نکردن ViewHolder یا درست پیاده نکردنش باشه (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
PandaStudio  11 سال پیش
0 0

این کدمه

 

 public class AdapterCategories extends ArrayAdapter<StructCategory> {

    private static Button         btnA;


    public AdapterCategories(ArrayList<StructCategory> array) {
        super(G.context, R.layout.adapter_categories, array);
    }


    private static class ViewHolder {

        public ViewHolder(View view) {
            btnA = (Button) view.findViewById(R.id.btnA);
        }


        public void fill(final ArrayAdapter<StructCategory> adapter, final StructCategory item, final int position) {

            btnA.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    Intent intent = new Intent(G.currentActivity, ActivityList.class);
                    intent.putExtra("CATEGORY", item.getTitle());
                    G.currentActivity.startActivity(intent);
                }
            });
        }
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;

        StructCategory item = getItem(position);
        if (convertView == null) {
            convertView = G.inflater.inflate(R.layout.adapter_categories, parent, false);
            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        holder.fill(this, item, position);
        return convertView;
    }
}
0 0
اصل صورت مسئله و ImageView ها رو که حذف کردی. الان این کد کلا چیزی رو تو ویو تغییر نمیده ... (11 سال پیش)
0 0
فرض کنید من به عنوان ورودی یک arraylist با 50 تا آیتم میدم که به ازای هر آیتم یک دکمه در gridview قرار میگیره که وقتی اون را لمس می کنم intent اجرا میشه و مقدار item.getTitle() را به ActivityList ارسال میکنه. حالا از کجا میگم آیتم ها جابجا میشن؟ از اینجا که توی ActivityList یک log نوشتم و مقدار CATEGORY را داخل اون نمایش میدم وقتی روی یکی از آیتم های gridview کلیک میکنم و مجدد اسکرول را حرکت میدم و دوباره اون آیتم را انتخاب می کنم مقادیر متفاوتی را به ActivityList ارسال میکنه (11 سال پیش)
0 0
کسی جواب این سوال رو میدونه؟ (11 سال پیش)
0 0
دوستان کسی نیست این مشکل جا به جا شدن رو حل کنه؟ (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .