আমার আগে এই সমস্যাটি ছিল এবং স্বাভাবিকভাবেই আমি এখানে সহায়তা চেয়েছিলাম । লুকসপ্রোগের উত্তর দুর্দান্ত ছিল কারণ তালিকাভিউ এবং গ্রিডভিউ কীভাবে পুনর্ব্যবহারযোগ্য দৃশ্যের সাথে নিজেকে অনুকূল করে তুলেছিল সে সম্পর্কে আমার কোনও ধারণা ছিল না। তাই তাঁর পরামর্শ নিয়ে আমি কীভাবে আমার গ্রিডভিউতে ভিউ যুক্ত করেছি তা পরিবর্তন করতে সক্ষম হয়েছি। সমস্যা হ'ল আমার কাছে এমন কিছু আছে যা বোঝায় না। এটি আমার getView
কাছ থেকে BaseAdapter
:
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.day_view_item, parent, false);
}
Log.d("DayViewActivity", "Position is: "+position);
((TextView)convertView.findViewById(R.id.day_hour_side)).setText(array[position]);
LinearLayout layout = (LinearLayout)convertView.findViewById(R.id.day_event_layout);
//layout.addView(new EventFrame(parent.getContext()));
TextView create = new TextView(DayViewActivity.this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 62, getResources().getDisplayMetrics()), 1.0f);
params.topMargin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
params.bottomMargin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
create.setLayoutParams(params);
create.setBackgroundColor(Color.BLUE);
create.setText("Test");
//the following is my original LinearLayout.LayoutParams for correctly setting the TextView Height
//new LinearLayout.LayoutParams(0, (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 60, getResources().getDisplayMetrics()), 1.0f)
if(position == 0) {
Log.d("DayViewActivity", "This should only be running when position is 0. The position is: "+position);
layout.addView(create);
}
return convertView;
}
}
সমস্যাটি যখন আমি স্ক্রোল করি, তখন এটি ঘটে এবং 0 পজিশনে নয় ... অবস্থান 6 এবং অবস্থান 8 এর মতো মনে হচ্ছে প্লাস এটি দুটি স্থানে 8 রাখে Now এখন আমি এখনও তালিকাভিউ এবং গ্রিডভিউ ব্যবহারের হ্যাং পেতে চেষ্টা করছি তাই আমি করি বুঝতে পারছিনা কেন এমন হচ্ছে। আমি এই প্রশ্নটি করার মূল কারণগুলির মধ্যে একটি হ'ল অন্যদের সহায়তা করা যা সম্ভবত তালিকাভিউ এবং গ্রিডভিউয়ের পুনর্ব্যবহারযোগ্য ভিউ সম্পর্কে জানেন না বা এই নিবন্ধটি যেভাবে রাখে, স্ক্র্যাপভিউ প্রক্রিয়া।
পরে সম্পাদনা করুন
গুগল আইও টকের সাথে লিঙ্ক যুক্ত করা যা মূলত তালিকাভিউ কীভাবে কাজ করে তা আপনার বুঝতে হবে। মন্তব্যে লিঙ্কটি মারা গিয়েছিল। সুতরাং ব্যবহারকারী 3427079 এই লিঙ্কটি আপডেট করার জন্য যথেষ্ট দুর্দান্ত ছিল। এখানে এটি সহজ অ্যাক্সেসের জন্য।
0
) আপনি ফিরে পেতে আপনার সর্বদা কোডের একটি অংশ থাকা দরকার ।
ListView
দেখানোর জন্য কোনও নতুন সারি প্রয়োজন (যেমন ডাউন / উপরে স্ক্রোল চালিয়ে যাওয়া)। সমস্যাটি হ'ল যে দৃষ্টিভঙ্গিটি সবেমাত্র অদৃশ্য হয়ে গেছে এবং এটি ভবিষ্যতে প্রয়োজনীয় অবস্থানগুলিতে ব্যবহৃত হবে এটি TextView
ইতিমধ্যে এতে যুক্ত হয়েছে, এটিই সমস্যা। এটির সমাধানের জন্য আপনাকে getView
পদ্ধতিতে এটি অপসারণ করতে হবে যদি getView
পদ্ধতিটি অন্য কোনও অবস্থানের জন্য কল করা হয় 0
।