بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
لیست ویو،منو کشویی
سلام دوستان خسته نباشید من یه منو کشویی دارم که یه مشکلی داره وقتی بیشتر از اندازه صفحه گوشی بهش ایتم اضافه میکنم ایتم ها قاطی میشه و وقتی اسکرول میکنی ایتم اول میره انتها. در پایین سه تا کلاس مرتبط به کدها رو گذشتم توجه کنید مشکل اینه اسکرول میشه میره پایین ایتم اپدیت نمیشه اگه کسی میتونه لطفا کمک کنه
public class NavDrawerListAdapter extends BaseAdapter {
private Context context;
private ArrayList<NavDrawerItem> navDrawerItems;
public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){
this.context = context;
this.navDrawerItems = navDrawerItems;
}
@Override
public int getCount() {
return navDrawerItems.size();
}
@Override
public Object getItem(int position) {
return navDrawerItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (position == 0) {
convertView = mInflater.inflate(R.layout.drawer_list_item_head, null);
}
else if (position == 7) {
convertView = mInflater.inflate(R.layout.drawer_list_item_divider, null);
}
else if (position == 9) {
convertView = mInflater.inflate(R.layout.drawer_list_item_divider, null);
} else if (position == 11) {
convertView = mInflater.inflate(R.layout.drawer_list_item_divider, null);
}
else if (position == 13) {
convertView = mInflater.inflate(R.layout.drawer_list_item_divider, null);
}
else if (position == 15) {
convertView = mInflater.inflate(R.layout.drawer_list_item_divider, null);
}
else {
if (!Settings_Activity.loadNightMode(context)) {
convertView = mInflater.inflate(R.layout.drawer_list_item, null);
} else {
convertView = mInflater.inflate(R.layout.drawer_list_item_dark, null);
}
}
}
if (position !=0& position !=7& position !=9& position !=11& position !=13& position !=15) {
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
TextViewPlus txtTitle = (TextViewPlus) convertView.findViewById(R.id.drawertitle);
imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
txtTitle.setText(navDrawerItems.get(position).getTitle());
}
return convertView;
}
public class NavConstructor {
public static int which_act;
public static Context cc;
public static Activity ac;
public static ListView _mDrawerList;
public static DrawerLayout _mDrawerLayout;
public static int defpos;
public static String[] _navMenuTitles;
public static TypedArray _navMenuIcons;
public static ArrayList<NavDrawerItem> _navDrawerItems;
public static NavDrawerListAdapter _adapter;
public static boolean intenthappennav = false;
@SuppressWarnings("ResourceType")
public static void Build(Context context, ListView mDrawerList,
DrawerLayout mDrawerLayout, int DEFAULT_POSITION) {
_mDrawerList = mDrawerList;
_mDrawerLayout = mDrawerLayout;
cc = context;
ac = (Activity) context;
defpos = DEFAULT_POSITION;
intenthappennav = false;
_navMenuTitles = context.getResources().getStringArray(R.array.nav_drawer_items);
// nav drawer icons from resources
_navMenuIcons = context.getResources()
.obtainTypedArray(R.array.nav_drawer_icons_dark);
_navDrawerItems = new ArrayList<NavDrawerItem>();
_navDrawerItems.add(new NavDrawerItem());
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[1], _navMenuIcons.getResourceId(1, -1)));
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[2], _navMenuIcons.getResourceId(2, -1)));
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[3], _navMenuIcons.getResourceId(3, -1)));
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[4], _navMenuIcons.getResourceId(4, -1)));
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[5], _navMenuIcons.getResourceId(5, -1)));
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[6], _navMenuIcons.getResourceId(6, -1)));
_navDrawerItems.add(new NavDrawerItem());
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[7], _navMenuIcons.getResourceId(7, -1)));
_navDrawerItems.add(new NavDrawerItem());
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[8], _navMenuIcons.getResourceId(8, -1)));
_navDrawerItems.add(new NavDrawerItem());
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[9], _navMenuIcons.getResourceId(9, -1)));
_navDrawerItems.add(new NavDrawerItem());
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[10], _navMenuIcons.getResourceId(10, -1)));
_navDrawerItems.add(new NavDrawerItem());
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[11], _navMenuIcons.getResourceId(11, -1)));
_navDrawerItems.add(new NavDrawerItem(_navMenuTitles[12], _navMenuIcons.getResourceId(12, -1)));
// Recycle the typed array
_navMenuIcons.recycle();
// setting the nav drawer list adapter
_adapter = new NavDrawerListAdapter(context.getApplicationContext(), _navDrawerItems);
mDrawerList.setAdapter(_adapter);
mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
}
public static class SlideMenuClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
displayView(position);
}
}
public static void displayView(int position) {
switch (position) {
case 1:
which_act = 1;
break;
case 2:
which_act = 2;
break;
case 3:
which_act = 3;
break;
case 4:
which_act = 4;
break;
case 5:
which_act = 5;
break;
case 6:
which_act = 6;
break;
case 7:
which_act = 7;
break;
case 8:
which_act = 8;
break;
case 9:
which_act = 9;
break;
case 10:
which_act = 10;
break;
case 11:
which_act = 11;
break;
case 12:
which_act = 12;
break;
case 13:
which_act = 13;
break;
case 14:
which_act = 14;
break;
case 15:
which_act = 15;
break;
case 16:
which_act = 16;
break;
case 17:
which_act = 17;
break;
default:
break;
}
if (position != 0) {
_mDrawerList.setItemChecked(position, true);
_mDrawerList.setSelection(position);
_mDrawerLayout.closeDrawer(_mDrawerList);
} else {
_mDrawerList.setItemChecked(defpos, true);
_mDrawerList.setSelection(defpos);
}
NavigationClosed();
}
public static void NavigationClosed() {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
switch (which_act) {
case 0:
break;
case 1: //main menu
if (defpos != 1) {
intenthappennav = true;
Intent i1 = new Intent(cc, MainMenu.class);
ac.startActivity(i1);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 2: //content
if (defpos != 2) {
intenthappennav = true;
Intent i2;
if (MainMenu.tabnum == 1) {
i2 = new Intent(cc, ContentMenu.class);
} else {
i2 = new Intent(cc, SeasonMenu.class);
}
ac.startActivity(i2);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 3: // favorite
if (defpos != 3) {
intenthappennav = true;
Intent i3 = new Intent(cc, Favorites.class);
ac.startActivity(i3);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 4: // search
if (defpos != 4) {
intenthappennav = true;
Intent i4 = new Intent(cc, Search_all.class);
i4.putExtra("nav", true);
i4.putExtra("defpos", defpos);
ac.startActivity(i4);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
}
break;
case 5: //settings
if (defpos != 5) {
intenthappennav = true;
Intent i6 = new Intent(cc, Settings_Activity.class);
ac.startActivity(i6);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 6: //aboutus
if (defpos != 6) {
intenthappennav = true;
Intent i7 = new Intent(cc, AboutUs.class);
ac.startActivity(i7);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 7:
break;
case 8: //aboutus
if (defpos != 8) {
intenthappennav = true;
Intent i9 = new Intent(cc, WebView1.class);
ac.startActivity(i9);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 9:
break;
case 10: //aboutus
if (defpos != 10) {
intenthappennav = true;
Intent i9 = new Intent(cc, WebView2.class);
ac.startActivity(i9);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 11:
break;
case 12: //aboutus
if (defpos != 12) {
intenthappennav = true;
Intent i9 = new Intent(cc, WebView3.class);
ac.startActivity(i9);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 13:
break;
case 14: //aboutus
if (defpos != 14) {
intenthappennav = true;
Intent i9 = new Intent(cc, WebView4.class);
ac.startActivity(i9);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 15:
break;
case 16: //aboutus
if (defpos != 16) {
intenthappennav = true;
Intent i9 = new Intent(cc, WebView5.class);
ac.startActivity(i9);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
case 17: //aboutus
if (defpos != 17) {
intenthappennav = true;
Intent i9 = new Intent(cc, WebView6.class);
ac.startActivity(i9);
ac.overridePendingTransition(R.anim.fadein, R.anim.fadeout);
//ac.finish();
}
break;
}
}
}, 250);
}}public class NavDrawerItem}
private String title;
private int icon;
public NavDrawerItem(String title, int icon){
this.title = title;
this.icon = icon;
}
public NavDrawerItem(){
}
public String getTitle(){
return this.title;
}
public int getIcon(){
return this.icon;
}}
0
0
به نظرم این مشکل در زبان فارسی رخ میده. اما شما اول این کارو بکن ببین درست میشه.
به جای استفاده از متدی برای سهولت کارت، کدها رو به صورت مستقیم مورد استفاده قرار بده. (7 سال پیش)
0
0
اگه بتونی عکس هم یگذاری خیلی بهتر می تونیم کمکتون کنیم
(7 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .