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


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

#1
سلام به همه دوستان
میخوام یه اپلیکیشن بسازم با این محتوا :
1.    اکتیویتی اول : listView
2.    اکتیویتی  دوم  شامل3 آبجکت هست:  یک textView برای عنوان صفحه . یک ImageView برای نمایش عکس خواننده . یک button برای پخش صدای خواننده

توضیح : اکتیویتی اول رو مشکلی ندارم . اکتیویتی دوم textView رو از string ها میگیره که اونم مشکلی ندارم .
اما : برای ImageView کدها رو چطوری بنویسم که با کلیک روی هر Row در لیست ویو عکس یکی از خواننده ها از پوشه drawable یا assets ظاهر بشه (عکس ها با نام یکسان هستند مثلا : man_1 , man_2 الی آخر )
همینطور برای دکمه که قراره آهنگ ها رو اجرا کنه چی کدهایی رو بنویسم که آهنگ ها که تو پوشه rowهستن و نام یکسان دارند(song_1 , song_2 و الی آخر) اجرا بشن؟
شمای اکتیویتی دوم به شکل عکس ذیر هست:


فایل‌های پیوست

عکس(ها)
   
پاسخ

لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

#2
سلام.
شما باید شماره item اشاره شده از ListView را به Activity دوم بفرستید و بعد بر اساس شماره (که همان پسوند عددی فایل های عکس و موسیقی می باشد)، عکس و فایل موسیقی متناظر را در Activity دوم فراخوانی کنید.
در کلید زیر، مثالی وجود دارد که چگونگی ارسال شماره item اشاره شده به Activity دوم در آن شرح داده شده :

کلید شماره 843

یا اگر نمی خواهید که شماره ارسالی همان شماره item ها باشد (مثلا شماره ها از 20 شروع شوند)، یک آرایه (Array یا ArrayList) بسازید و شماره ها را در آن ذخیره کنید. بعد در کد ارسال شماره، شماره ارسالی را از آرایه مورد نظر فراخوانی می کنید (با استفاده از متغیر position ، یعنی بر اساس شماره ذخیره شده در position که همان شماره item است، یکی از عناصر آرایه را فراخوانی می کنید).

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

لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

#3
مدیر محترم سایت ، خیلی متشکرم از وقتی که می گذارید . مشکل عکس حل شد ولی برای فایل های Mp3 نمی دونم چی کدی بنویسم (تو اکتیویتی دوم)
وقتی از OnClickListener استفاده می کنم فقط می تونم از متد   public void onClick(DialogInterface arg0, int arg1  استفاده کنم که برای این کار نیست . 
من کدها رو به این شکل نوشتم 

کد پی‌اچ‌پی:
 Button playBtn = (ButtonfindViewById(R.id.btn_start);
 
           String voiceName "seda_" my_key_number;
 
            int resID3 getResources().getIdentifier(voiceName"raw"getPackageName());
 
            MediaPlayer mediaPlayer MediaPlayer.create(Poems.thisresID3);
 
             mediaPlayer.start(); 

ولی اشکال اینجاست که اصلا نمی تونم از onClick(view v)استفاده کنم 
لطفا راهنماییم کنید
پاسخ

لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

#4
(۱۳۹۴/۱۰/۰۷, ۰۷:۱۵ ب.ظ)alisoleimani20 نوشته: مدیر محترم سایت ، خیلی متشکرم از وقتی که می گذارید . مشکل عکس حل شد ولی برای فایل های Mp3 نمی دونم چی کدی بنویسم (تو اکتیویتی دوم)
وقتی از OnClickListener استفاده می کنم فقط می تونم از متد   public void onClick(DialogInterface arg0, int arg1  استفاده کنم که برای این کار نیست . 
من کدها رو به این شکل نوشتم 

کد پی‌اچ‌پی:
 Button playBtn = (ButtonfindViewById(R.id.btn_start);
 
           String voiceName "seda_" my_key_number;
 
            int resID3 getResources().getIdentifier(voiceName"raw"getPackageName());
 
            MediaPlayer mediaPlayer MediaPlayer.create(Poems.thisresID3);
 
             mediaPlayer.start(); 

ولی اشکال اینجاست که اصلا نمی تونم از onClick(view v)استفاده کنم 
لطفا راهنماییم کنید

دوست عزیز کلید 269 خیلی خوب توضیح داده

اگر مشکل دیگه ای دارید متن خطا رو بگید
پاسخ

لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

#5
شاید من نتونستم خوب توضیح بدم . 
الان وقتی وارد اکتیویتی دوم میشم فایل mp3 خود به خود پخش میشه و منتظر دستور کاربر نمی مونه که این بده . من میخوام با اشاره بر روی دگمه play ، فایل پخش بشه . 
وقتی دگمه فراخونی میکنم و onClickListener رو مینویسم زیر @overide به جای onClick(view v که مطلوبه ، onClick(DialogInterface میاد که نمیشه توش برای دگمه کاری رو که میخوای تعریف کنی (پخش یا توقف فایل ) 

لطفا راهنماییم کنید
پاسخ

لیست ویو (ListView) با چند Object (برنامه نویسی اندروید)

#6
(۱۳۹۴/۱۰/۰۹, ۰۸:۴۰ ق.ظ)alisoleimani20 نوشته: شاید من نتونستم خوب توضیح بدم . 
الان وقتی وارد اکتیویتی دوم میشم فایل mp3 خود به خود پخش میشه و منتظر دستور کاربر نمی مونه که این بده . من میخوام با اشاره بر روی دگمه play ، فایل پخش بشه . 
وقتی دگمه فراخونی میکنم و onClickListener رو مینویسم زیر @overide به جای onClick(view v که مطلوبه ، onClick(DialogInterface میاد که نمیشه توش برای دگمه کاری رو که میخوای تعریف کنی (پخش یا توقف فایل ) 

لطفا راهنماییم کنید

دلیل پخش خود به خود mp3 ، عدم استفاده از روش setOnClickListener برای Button شناسایی شده است. کد شما :

کد پی‌اچ‌پی:
Button playBtn = (ButtonfindViewById(R.id.btn_start);
 
           String voiceName "seda_" my_key_number;
 
            int resID3 getResources().getIdentifier(voiceName"raw"getPackageName());
 
            MediaPlayer mediaPlayer MediaPlayer.create(Poems.thisresID3);
 
             mediaPlayer.start(); 

در صورتیکه که کد رایج برای یک Button ، به صورت زیر می باشد (کلید شماره 2728 را بخوانید) :

کد پی‌اچ‌پی:
Button b = (ButtonfindViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
 
                        
    
@Override
    public void onClick
(View v) {
 
       // your code
 
   }
}); 

-------------------------------------------------------------

اگر با خطای مشابه خطای زیر روبرو شدید (هنگام نوشتن کدهایی که باید برای Button تعیین شوند)، کلید شماره 3048 را بخوانید :

کد پی‌اچ‌پی:
Cannot refer to a non-final variable inside an inner class defined in a different method 


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


پرش به انجمن:


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