PDA

View Full Version : مشکل در navigation drawe



id1385
چهارشنبه 18 تیر 1393, 21:28 عصر
با سلام
دوستان من از این navigation drawer میخوام استفاده کنم، به نظرم کامله و تقریباً روی تمام گوشیها هم جواب داده.

مشاهده سورس (https://github.com/rudsonlive/Navigation-Drawer-ActionBarCompat)
جای دیگه هم پرسیدم ولی فعلاً جوابی نشده
(http://stackoverflow.com/questions/24633408/working-with-navigation-drawer)
منتها من مشکلی دارم اینه که این سورس میاد یه جا آیتمها رو درست میکنه، من میخوام اونجا که آیتمها رو درست میکنه یک خصوصیت به یم آیتم بدم، مثل tag
مثلاً تو سورس بالا یک آیتم به اسم download هستش میخوام برای همین آیتم یک خصوصیت بدم مثلاً "sampel prop"

و موقعی که روی این آیتم کلیک شد بتونم اون خصوصیت که "sampel prop" هست رو بخونم
اول از همه هرکاری کردم و هرچه هم سرچ زدم نتونستم اون خصوصیت رو set کنم
بعدشم توی clicklistener این سورس هرکاری کردم نتونستم اطلاعات آیتم مثل همون متن آیتم مثلاً رو بخونم

خواهشاً اگه دوستان می تونن در این مورد کمک کنن خیلی ممنون میشم

کد ایجاد آیتمها

public View getView(int position, View convertView, ViewGroup parent) {


holder = null;
View view = convertView;
NavigationItemAdapter item = getItem(position);

if (view == null) {


int layout = 0;
layout = R.layout.navigation_item_counter;
if (item.isHeader){
layout = R.layout.navigation_header_title;
}


view = LayoutInflater.from(getContext()).inflate(layout, null);


TextView txttitle = (TextView) view.findViewById(R.id.title);
TextView txtcounter = (TextView) view.findViewById(R.id.counter);
ImageView imgIcon = (ImageView) view.findViewById(R.id.icon);
View viewNavigation = (View) view.findViewById(R.id.viewNavigation);

LinearLayout linearColor = (LinearLayout) view.findViewById(R.id.ns_menu_row);
view.setTag(new ViewHolder(txttitle, txtcounter, imgIcon, linearColor, viewNavigation));
}


/*
creating item values
*/

if (holder == null && view != null) {
Object tag = view.getTag();
if (tag instanceof ViewHolder) {
holder = (ViewHolder) tag;
}
}

if (item != null && holder != null) {
if (holder.title != null)
holder.title.setText(item.title);
holder.title.setTag(item.itemKey);


if (holder.counter != null) {
if (item.counter > 0) {
holder.counter.setVisibility(View.VISIBLE);
holder.counter.setText(item.counterValue);
} else {
holder.counter.setVisibility(View.GONE);
}
}


if (holder.icon != null) {
if (item.icon != 0) {
holder.icon.setVisibility(View.VISIBLE);
holder.icon.setImageResource(item.icon);
} else {
holder.icon.setVisibility(View.GONE);
}
}
}


if (!item.isHeader) {
if (checkedItems.contains(Integer.valueOf(position))) {
holder.viewNavigation.setVisibility(View.VISIBLE);
} else {
holder.viewNavigation.setVisibility(View.GONE);
}
view.setBackgroundResource(R.drawable.seletor_item _navigation);
}

return view;
}



کد clicklistener

private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int posicao, long id) {

setLastPosition(posicao);
setFragmentList(lastPosition);
layoutDrawer.closeDrawer(linearDrawer);

//Object tag = view.getTag();

//Toast.makeText(getApplicationContext(),"Tag : "+ tag.toString(),Toast.LENGTH_SHORT).show();
}
}


لطفاً اساتید راهنمایی نمایند، با تشکر


https://raw.githubusercontent.com/rudsonlive/Navigation-Drawer-ActionBarCompat/master/navigation.png