کست int به view (حل شد) آموزش popupMenu
سلام بچه ها
بچه ها چجور میتونیم یه داده ای از جنس int رو به یه view تبدیل کنیم ؟ اصلا میشه ؟
دقت کنین من میخواستم توی یه برنامه از ایکون back خود sdkاندروید استفاده کنم اسمش هم " android.R.id.hom " بود . خب این ایکون از جنس
intهستش و وقتی میخواستم از popupMenu استفاده کنم برای پارامتر دومش از من یه View میخواست که من نداشتم من یه داده از جنس int دارم
واسه همین خطا میگرفت .
PopupMenu popupMenu = new PopupMenu(MainActivity.this , img_popup);
پارامتر دوم که من اینجا یه imageViewقرار دادم و درست بود چون یه ویوو بود . ولی ایا راهی هست که بتونم
android.R.id.home
این ایکونو تبدیل به viewکنم ؟ ممنون
البته یه راهی هست ولی تبدیل int به view نیست این رو گفتن نمیشه. فقط یه راهی داره اونم استفاده از LayoutInflater هست .
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.activity_main , MainActivity.this ,false);
ولی کار من ردیف شد . اینو برا شما میذارم استفاده کنید . هیچ چیز غیر ممکن نیست .
ولی میتونیم جای پارامتر دوم ایدی toolbar رو بدیم چرا که این ایکون مخصوص تولبار هست.
اخرش خودم پیداش کردم .ههههه
موفق باشید.
خب بعد از یه مدت سرچ و پرس و جو نتیجه گرفتم این کار شدنی نیس ......
پس مجبور شدم که از یه view استفاده کنم . تفاوتی نداشت . الان کداشو میذارم شاید به دردتون خورد.
این کدای یه popupMenu هست .. که برای یه عکس نوشتم ....
ImageView img_popup = (ImageView) findViewById(R.id.img_popup);
img_popup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(SecondActivity.this , img_popup);
popupMenu.getMenuInflater().inflate(R.menu.popup_menu , popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
Toast.makeText(SecondActivity.this , item.getTitle() , Toast.LENGTH_SHORT).show();
return true;
}
});
popupMenu.show();
}
});
این کدا رو بعد از تعریف imageView توی اکتیویتون مینویسید . و فراموش نکنید که توی فایل menu یه منو بسازید مثلا R.menu.popup_menu
که بتونید ازش استفاده کنید . الان براتون یه تصویر هم میذارم
سلام ، ببخشین در قسمت پاسخ ها سوالم رو مطرح می کنم : من وقتی برنامم رو ران میکنم popup نداره . میشه بگین همین popup هایی رو که ساختین چه جوریه؟ تو انجمن یکی از بچه ها گفته بود ولی کدهاش ایراد داشت . ببینین من اصلا این قسمت رو توی toolbar ام ندارم . ممنون

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
get drawable from id android(9 سال پیش)findViewByIdمیشه تبدیلش کرد (اینو هم بگم که واژه ی تبدیلintبهViewدرست نیست چون که خروجیandroid.R.id.homeکهintهست آدرس عکس رو به ما میده):View img = (ImageView) findViewById(R.id.txt);(9 سال پیش)