View Full Version : مشکل با گرید ویو
  
dc-master
جمعه 29 فروردین 1393, 17:34 عصر
سلام
من با استفاده از دیتابیس گرید ویو رو پر میکنم
اما مشکلاتی به وجود میاد
1-آیتم ها رو تکراری میزنه
مثلا 10تا آیتم اولیه رو درست نشون میده ولی 10تای بعدی تکراری
مثلا:
1  2  3  4
5  6  7  8
9  1  2  3
4  5  6  7
همینطوری تکراری نشون میده
10تای اولی رو تکرار میکنه
2- تعداد آیتم ها زیاده بای همین اسکرول ایجاد میشه 
وقتی میرم آخر اسکرول و دو باره برمیگردم اول کل آیتم ها به هم میریزه یعنی جاشون تغییر میکنه,بالا و پایین میشن
من کلا با چینش این آیتم ها مشکل دارم
dc-master
جمعه 29 فروردین 1393, 21:15 عصر
مشکل تکرار شدن آیتم ها حل شد
حالا مشکل اینجاست که بعد از اسکرول یا آیتم ها جابجا مشن یا کلا خذف میشن
poorman
شنبه 30 فروردین 1393, 11:42 صبح
خب دوست عزیز کد آداپتر و نحوه پر کردن رو بذار تا بفهمیم چکار کردی، همینطوری که نمیشه
dc-master
شنبه 30 فروردین 1393, 22:07 عصر
اینم کد آداپتر
public class MyAdapter extends BaseAdapter {	private Context mContext;
	private List<Items> ITEMS;
	
	public MyAdapter(Context c, List<Items> items) {
		
		mContext = c;
		ITEMS = items;
	}
	@Override
	public int getCount() {
		return ITEMS.size();
	}
	@Override
	public Object getItem(int position) {
		return ITEMS.get(position).getImage();
	}
	@Override
	public long getItemId(int position) {
		return 0;
	}
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		LayoutInflater inflater = (LayoutInflater) mContext
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE)  ;
		View gridView;
		if (convertView == null) {
			gridView = new View(mContext);
			gridView = inflater.inflate(R.layout.item, null);	
		} else {
			gridView = (View) convertView;
		}
		TextView textView = (TextView) gridView.findViewById(R.id.item_txt);
	
		textView.setText(ITEMS.get(position).getName());
		
		
		ImageView imageView = (ImageView) gridView
				.findViewById(R.id.item_img);
		int ImageResource = mContext.getResources().getIdentifier(
				ITEMS.get(position).getEzafi(), "drawable",
				mContext.getPackageName());
		imageView.setImageResource(ImageResource);
		return gridView;
	}
poorman
شنبه 30 فروردین 1393, 23:27 عصر
فکر میکنم مشکل از اون شرط پر کردن gridView باشه
بدون اینکه اون شرط رو بذارید gridView رو مقدار بدید به صورت زیر 
View gridView = inflater.inflate(R.layout.item, null, true);
--------------------------------------------
یک توصیه هم بکنم، بین هر خط کد لازم نیست 20 تا اینتر بزنید :لبخند:
سعی کنید کدهای هر قسمت رو نزدیک هم نگه دارید تا جلوی چشمتون باشه و اگه به مشکل خوردید بفهمید از کجاست
dc-master
سه شنبه 02 اردیبهشت 1393, 13:33 عصر
فکر میکنم مشکل از اون شرط پر کردن gridView باشه
بدون اینکه اون شرط رو بذارید gridView رو مقدار بدید به صورت زیر 
View gridView = inflater.inflate(R.layout.item, null, true);
--------------------------------------------
یک توصیه هم بکنم، بین هر خط کد لازم نیست 20 تا اینتر بزنید :لبخند:
سعی کنید کدهای هر قسمت رو نزدیک هم نگه دارید تا جلوی چشمتون باشه و اگه به مشکل خوردید بفهمید از کجاست
فکنم درست شد
این فاصله ها وقتی اینجا کپی کردم بوجود اومده وگرنه من اینقدر فاصله نمیذارم:چشمک:
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.