انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مخفی کردن یک عکس در یکی از ردیفهای یک لیست ویو با کلیک بر روی یک دکمه داخل همان ردیف

مخفی کردن یک عکس در یکی از ردیفهای یک لیست ویو با کلیک بر روی یک دکمه داخل همان ردیف

#1
سلام.
من یک لیست ویو دارم که چند تا ردیف داره و داخل هر ردیف هم یک عکس داره و یک دکمه.
می خوام با کلیک روی هر دکمه عکس همون ردیف مخفی بشه.
یک OnClickListener تعریف کردم ولی نمی دونم چطوری باید عکس همون ردیف رو مخفی کنم.
هر طور می نویسم عکس ردیف آخر مخفی می شه.
ممکنه راهنمایی کنید چطوری باید برای عکس هر ردیف کد نوشت؟
ممنون
پاسخ

مخفی کردن یک عکس در یکی از ردیفهای یک لیست ویو با کلیک بر روی یک دکمه داخل همان ردیف

#2
سلام.
شما باید در Adapter ای که برای ListView تعیین کرده اید، کدهایتان را برای عناصر ردیف بنویسید (یک کد می نویسید اما برای تمامی ردیف های ListView به کار می رود). مثلا در هر ردیف، یک دکمه و یک عکس دارید. هر دو را شناسایی می کنید و تعیین می کنید که اگر روی دکمه اشاره شد، عکس حذف شود.
این مورد را در کلید زیر می توانید بررسی کنید :

کلید شماره 843

مثلا در آن مبحث، کدهای Adapter به صورت زیر می باشد :

کد پی‌اچ‌پی:
private class MyAdapter extends ArrayAdapter<String>{

                public 
MyAdapter(Context contextint resourceint textViewResourceId,
                                
String strings) {
                        
super(contextresourcetextViewResourceIdstrings);
                        
// TODO Auto-generated constructor stub
                
}
                
                @
Override
                
public View getView(int positionView convertViewViewGroup parent) {
                        
LayoutInflater inflater = (LayoutInflatergetSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        
View row inflater.inflate(R.layout.list_itemparentfalse);
                        
                        
String stringName "string_key_" String.valueOf(position+1); 
                        
int string_res_ID getResources().getIdentifier(stringName,"string",getPackageName());
                        
String my_string getResources().getString(string_res_ID);
                        
TextView tv = (TextViewrow.findViewById(R.id.textView1);
                        
tv.setText(my_string);
                        
                        
String imageName "key_" String.valueOf(position+1); 
                        
int image_res_ID getResources().getIdentifier(imageName,"drawable",getPackageName());
                        
ImageView iv = (ImageViewrow.findViewById(R.id.imageView1);
                        
iv.setImageResource(image_res_ID);
        
                        return 
row;
                }
                
                
        } 

مشاهده می کنید که در آن، یک ImageView و یک TextView را شناسایی کرده ایم و بعد، مقادیر مورد نظرمان را در آنها نمایش داده ایم، اما شما بعد از شناسایی عناصر، کد مورد نظرتان برای عملکرد دکمه (Button) را می نویسید ( ImageView و Button موجود در فایل xml متناظر با لایه گرافیکی ردیف را شناسایی کرده و عملکرد دکمه را تعریف می کنید).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

مخفی کردن یک عکس در یکی از ردیفهای یک لیست ویو با کلیک بر روی یک دکمه داخل همان ردیف

#3
سلام مجدد
مشکل من هم همین جاست! شناسایی عناصر
به نظر میرسه شما مقدار ImageView و TextView رو شناسایی کردین یعنی image_res_ID و my_string رو و نه خود هر عنصر رو!
میشه بیشتر توضیح بدین.
اگر هم یه نمونه کد لیسنر رو برام بزارید بی نهایت سپاس گذار میشم

 
پاسخ

مخفی کردن یک عکس در یکی از ردیفهای یک لیست ویو با کلیک بر روی یک دکمه داخل همان ردیف

#4
نه کاری با آن بخش از کدها نداشته باشید. ابتدا ببینید که row چگونه به دست آمده :

کد پی‌اچ‌پی:
LayoutInflater inflater = (LayoutInflatergetSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row inflater.inflate(R.layout.list_itemparentfalse); 

سپس بر اساس آن، ImageView را با کد زیر شناسایی کرده ایم :

کد پی‌اچ‌پی:
ImageView iv = (ImageViewrow.findViewById(R.id.imageView1); 

مشاهده می کنید که قبل از روش findViewById ، کلمه row را نوشته ایم. عنصر دیگر مورد نظرتان را هم با این روش شناسایی می کنید و بعد کدهای مورد نظرتان را برای آنها می نویسید.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

مخفی کردن یک عکس در یکی از ردیفهای یک لیست ویو با کلیک بر روی یک دکمه داخل همان ردیف

#5
سلام
با تشکر از راهنمایی مدیر محترم .
من موفق به تکمیل کد شدمگ
برای دوستان هم کد رو میزارم اگه کسی می خواد استفاده کنه
اما راه حل من:
یک custom onclicklistener تعریف کردم و به کلیک دکمه نسبت دادم
اینم کد کلاس لیسنر:
کد پی‌اچ‌پی:
public class MyLovelyOnClickListener implements OnClickListener
           
{

             ImageView myLovelyVariable;
             ProgressBar myLovelyprogres;
             public MyLovelyOnClickListener(ImageView myLovelyVariable,ProgressBar myLovelyprogres) {
                  this.myLovelyVariable myLovelyVariable;
                  this.myLovelyprogres myLovelyprogres;
             }

             @Override
             
public void onClick(View v)
             {
                 //read your lovely variable
                 Toast.makeText(getApplicationContext(), String.valueOf(myLovelyVariable), Toast.LENGTH_LONG).show();
                 myLovelyVariable.setAlpha((float) 0.1);
                 myLovelyprogres.setVisibility(1);
             }

           }; 
 اینم کد دکمه:
کد پی‌اچ‌پی:
bt.setOnClickListener(new MyLovelyOnClickListener(iv,pb)); 


 
پاسخ
 سپاس شده توسط kousha.nikkar ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان