eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ با عرض سلام و خسته نباشید خدمت اساتید و دوستان محترم دوستان من یک پروژه از گیت هاب دریافت کردم در یکی از قسمت هاش گیر کردم که چیکار کنم!! به این کدها نگاه کنید : public class CircleActivity extends Activity { private CircleMenuLayout mCircleMenuLayout; private String[] mItemTexts = new String[] { "1", "2", "3", "4", "5", "6" }; private int[] mItemImgs = new int[] { R.drawable.home_mbank_1_normal, R.drawable.home_mbank_2_normal, R.drawable.home_mbank_3_normal, R.drawable.home_mbank_4_normal, R.drawable.home_mbank_5_normal, R.drawable.home_mbank_6_normal }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main02); mCircleMenuLayout = (CircleMenuLayout) findViewById(R.id.id_menulayout); mCircleMenuLayout.setMenuItemIconsAndTexts(mItemImgs, mItemTexts); mCircleMenuLayout.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public void itemClick(View view, int pos) { Toast.makeText(CircleActivity.this, mItemTexts[pos], Toast.LENGTH_SHORT).show(); } @Override public void itemCenterClick(View view) { Toast.makeText(CircleActivity.this, "you can do something just like ccb ", Toast.LENGTH_SHORT).show(); } }); } } اون عددهای 1 تا 6 که در کد بالا هستن هر کدوم یک دکمه هستن که زمانی که بر روی ان ها کلیک میکنم همون اسم خودشون یعنی عدد خودشون رو در یک Toast نشون میدن... ولی من میخوام هنگامی که روی یکی از اون ها کلیک کردم بتونم از اکتیویتی فوق یه یک اکتیویتی دیگه برم. در واقع برای هر کدام از اعداد میخوام یک اکتیویتی تعریف کنم که هنگامی که روی یکی از انها کلیک شد به حای نشان دادن Toast به اکتیویتی که براش تعیین میکنم رحوع کنه... متاسفانه ندونستم برای هر یک از اعداد چگونه در این کلاس یک ای دی تعریف کنم که با استفاده از intent بتونم برای هر کدام یک اکتیویتی تعریف کنم!! با تشکر فراوان از همه نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ باید توی متد itemClick ای که توی کدی که گذاشتی هست رویداد تعریف کنی واسه آیتم هات البته لازم نیست برای هر عدد یه اکتیویتی ایجاد کنی. یه اکتیویتی جدید درست کن. توی متد itemClick یه پارامتر pos هست که عدد گزینه انتخاب شده رو نشون میده. شما باید مقدار این پارامتر رو به اکتیویتی ای که درست کردی بفرستی و اونجا تصمیم بگیری که مثلا اگر این مقدار 1 بود فلان کار رو بکنه یا اگر 2 بود و... نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ باید توی متد itemClick ای که توی کدی که گذاشتی هست رویداد تعریف کنی واسه آیتم هات البته لازم نیست برای هر عدد یه اکتیویتی ایجاد کنی. یه اکتیویتی جدید درست کن. توی متد itemClick یه پارامتر pos هست که عدد گزینه انتخاب شده رو نشون میده. شما باید مقدار این پارامتر رو به اکتیویتی ای که درست کردی بفرستی و اونجا تصمیم بگیری که مثلا اگر این مقدار 1 بود فلان کار رو بکنه یا اگر 2 بود و... با تشکر از شما فقط اگه امکانش هست یک نمونه ی کوچیک رو برای یکی از باتن ها یا همون عددها که گفتید برای itemClick تعریف کنم رو همینجا زحمتش رو میکشید؟!! چون حقیقتش رو بخوای خوب متوجه نشدم!! یعنی متوجه نشدم برای هر کدام از باتن ها یک itemClick درست کنم!! چجوری از طریق pos ارجاع بدم به یک اکتیویتی دیگه؟؟! شرمنده نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ نه نباید برای هر دکمه itemClick تعریف کنی ببین توی متد itemClick دستور نمایش Toast هست درسته؟ تو این دستور اومده مقدار pos رو به آرایه mItemTexts داده تا گزینه مربوط به آیتم کلیک شده رو نشون بده. فرض می کنیم شما یه اکتیویتی جدید درست کردی به نام SecondActivity حالا به جای اون دستور نمایش Toast طبق کد زیر یه Intent درست کنی و مقدار pos رو به اینتنت بدی و بعد اکتیوتی جدید رو با این اینتنت باز کنی (این کد رو باید توی متد itemClick بنویسی): Intent i = new Intent(this, SecondActivity.class); i.putExtra("posValue", pos); startActivity(i); اون posValue یه مقدار اختیاریه که به عنوان نشونه ای برای دسترسی به مقدار pos در اکتیویتی دوم به کار میره شما فعلا تا همین جا رو انجام بده تا بقیش رو بهت بگم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ نه نباید برای هر دکمه itemClick تعریف کنی ببین توی متد itemClick دستور نمایش Toast هست درسته؟ تو این دستور اومده مقدار pos رو به آرایه mItemTexts داده تا گزینه مربوط به آیتم کلیک شده رو نشون بده. فرض می کنیم شما یه اکتیویتی جدید درست کردی به نام SecondActivity حالا به جای اون دستور نمایش Toast طبق کد زیر یه Intent درست کنی و مقدار pos رو به اینتنت بدی و بعد اکتیوتی جدید رو با این اینتنت باز کنی (این کد رو باید توی متد itemClick بنویسی): Intent i = new Intent(this, SecondActivity.class); i.putExtra("posValue", pos); startActivity(i); اون posValue یه مقدار اختیاریه که به عنوان نشونه ای برای دسترسی به مقدار pos در اکتیویتی دوم به کار میره شما فعلا تا همین جا رو انجام بده تا بقیش رو بهت بگم دوست عزیز طبق همون کاری که گفتید انجام دادم ولی تو کد رفتن به اکتیویتی دیگه ایراد میگیره.. اکتیویتی رو تو منیفست هم وارد کردم...عکسش رو براتون ارسال میکنم. اگر لازمه میخواید سورس کد رو بفرستم خودتون یه بررسی کنین؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ تو کدی که دادم به جای this اینو بنویس : CircleActivity.this نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ تو کدی که دادم به جای this اینو بنویس : CircleActivity.this عالیه....جواب داد....واقعا متشکر فقط من الان بخوام برای هر کدوم از باتن های 1 تا 6 یک دستور تعریف کنم الان باید چه کاری انجام بدم؟؟ چون الان رو هر کدوم از باتن ها مبزنم همون یک دستور رو اجرا میکنه... نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ خب حالا باید اون مقدار pos رو که با اینتنت فرستادی رو توی این اکتیویتی بگیری توی onCreate کد زیر رو بنویس: int id = getIntent().getIntExtra("posValue", 0); یه متغیر از نوع int به نام id تعریف کردیم که میاد اون مقداری که با اینتنت فرستادی رو میگیره. یعنی اول اینتنتی که این اکتیویتی رو باز کرده با متد getIntent میگیره و بعد با متد getIntExtra میاد مقداری که به اینتنت دادیم رو بگیره (چون pos از جنس int بود پس باید از getIntExtra استفاده بشه) پارامترهای متد getIntExtra : اولیش همون نشونه ای هست که توی اکتیویتی اول تعریف کردیم برای مقدار pos . حالا اینجا از اون نشونه استفاده می کنیم تا مقدار pos رو بگیریم پارامتر دومیش هم مقدار پیشفرضه که درصورتی استفاده میشه که چیزی به نام posValue پیدا نکنه که البته مهم نیست چون توی اکتیویتی اول ما این مقدار رو دادیم بهش حالا که مقدار فرستاده شده از اکتیویتی اول رو داری میتونی یه دستور شرطی بزاری که اگه مثلا 1 بود فلان کار و 2 بود فلان کار و ... انجام بده نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ خب حالا باید اون مقدار pos رو که با اینتنت فرستادی رو توی این اکتیویتی بگیری توی onCreate کد زیر رو بنویس: int id = getIntent().getIntExtra("posValue", 0); یه متغیر از نوع int به نام id تعریف کردیم که میاد اون مقداری که با اینتنت فرستادی رو میگیره. یعنی اول اینتنتی که این اکتیویتی رو باز کرده با متد getIntent میگیره و بعد با متد getIntExtra میاد مقداری که به اینتنت دادیم رو بگیره (چون pos از جنس int بود پس باید از getIntExtra استفاده بشه) پارامترهای متد getIntExtra : اولیش همون نشونه ای هست که توی اکتیویتی اول تعریف کردیم برای مقدار pos . حالا اینجا از اون نشونه استفاده می کنیم تا مقدار pos رو بگیریم پارامتر دومیش هم مقدار پیشفرضه که درصورتی استفاده میشه که چیزی به نام posValue پیدا نکنه که البته مهم نیست چون توی اکتیویتی اول ما این مقدار رو دادیم بهش حالا که مقدار فرستاده شده از اکتیویتی اول رو داری میتونی یه دستور شرطی بزاری که اگه مثلا 1 بود فلان کار و 2 بود فلان کار و ... انجام بده خیلی ممنون فقط یه کم سخت شد متوجه شدما اما الان من توی اکتیویتی SecondActivity دستور int id = getIntent().getIntExtra("posValue", 0); رو توی OnCreate قرار دادم... ولی شرطش رو نفهمیدم چه جوری باید تو if و else قرار بدم که هر مقدار رو به خودش ربط بدم. چون تو دستور if قرار دادم که اگه id=1 باشه فلان دستور اجرا شه....ولی ایراد گرفت!! ولی از یه طرف میبینم ما از جنس int اومدیم id رو تعریف کردیم پس قاعدتا "posValue" رو نمیشه برای مقدار دستور شزطی استفاده کرد از طرفی هم آی دی از قبل تعریف شده نداریم که تو دستور شرطی قرار بدیم!!! :huh: نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadali_mirhamed 27 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ آره طبق عکس پیش برو درسته برای نوشتن شرط این طوری بنویس [shcode=java]if(id==1){} else if(id==2){} . . . [/shcode] و اینکه دوست عزیز دانش برنامه نویسی شما بسیار ضعیفه و احتیاج به تمرین زیاد دارین امیدوارم موفق باشید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ آره طبق عکس پیش برو درسته برای نوشتن شرط این طوری بنویس [shcode=java]if(id==1){} else if(id==2){} . . . [/shcode] و اینکه دوست عزیز دانش برنامه نویسی شما بسیار ضعیفه و احتیاج به تمرین زیاد دارین امیدوارم موفق باشید درسته حق با شماست. بابت کمک و پیگیریتون واقعا متشکرم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadali_mirhamed 27 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ خواهش میکنمالبته من کاری نکردم دوست عزیزم مصطفی زحمت راهنمایی رو کشید دستش درد نکنه نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ خواهش میکنمالبته من کاری نکردم دوست عزیزم مصطفی زحمت راهنمایی رو کشید دستش درد نکنه متشکرم از همگی دوستان ببخشید به خاطر ضعیف بودنم در برنامه نویسی اذیتتون کردم. ولی خواستم فقط به اطلاع برسونم که تمامی دستورات گفته شده رو انجام دادم ولی متاسفانه برنامه برای هر باتن اون کاری که باید انجام بده رو نداد. یعنی برای همه فقط یک دستور کار میکرد که اون هم رفتن به اکتیویتی دوم بود!!! سورس کد اصلی رو که از سایت گیت هاب دریافت کردم رو همین جا ارسال میکنم...بر روی اکلیپس به راحتی import میشه نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ شما کد اکتیویتی دومت رو بزار 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ شما کد اکتیویتی دومت رو بزار از بس سوال کردم دیگه خجالت میکشم!! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadali_mirhamed 27 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ من مطمنم مشکلت از اکتویتی قبلیته اونجا تو قسمت ارسال مقدار به اکتویتی دومت یه مشکلی داری که داره فقط یه مقدار رو هر دفعه مفرسته برای همین همش یه کار یکسان رو انجام میده بهتره کد اون قمست رو بزار نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ چیزی که آقای محمد علی گفت هم ممکنه بجای getBaseContext از this استفاده کن کد اکتیویتی اولت رو هم بزار نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ چیزی که آقای محمد علی گفت هم ممکنه بجای getBaseContext از this استفاده کن کد اکتیویتی اولت رو هم بزار همونطور که تو عکس مشخص کردم اون قسمت رو اقا مصطفی راهنمایی کردن که به جای Toast پیش فرض خودش گذاشتم. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadali_mirhamed 27 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ یعنی چی الان قواعدات باید کار کنه که !! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ یعنی چی الان قواعدات باید کار کنه که !! راستش خودم هم گیج شدم بار اول برنامه رو روی بلواستیک زدم نمیدونستم مشکلش چیه ولی الان خروجی گرفتم از برنامه روی گوشی امتحان کردم وقتی کلیک میکنم روی یکی از ایتم ها برنامه کرش میکنه!!! البته لازم به ذکر هم هست بعد از نصب برنامه روی دوم کلیک کنید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadali_mirhamed 27 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ چی بگم والله شما تا جایی که سوالاتت معلوم بود ما جواب دادیم الان هم اصلان نمی دونم چشه با مشاهده ی 4 تا عکس نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ کد ارسال و دریافت اطلاعات با اینتنت مشکلی نداره یه سوال الان این CircleActivity دقیقا کدوم اکتیویتیه؟ توی برنامه ای که گذاشتی صفحه اول یه لیست که نوشته اول و دوم. این کدومشه؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۳۰ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ کد ارسال و دریافت اطلاعات با اینتنت مشکلی نداره یه سوال الان این CircleActivity دقیقا کدوم اکتیویتیه؟ توی برنامه ای که گذاشتی صفحه اول یه لیست که نوشته اول و دوم. این کدومشه؟ دوست من CircleActivity دومی هست... البته الان هم یه چیزی رو خودم فهمیدم بعد از کمپایل شدن و کرش کردن برنامه این پیغام رو توی LogCat مشاهده کردم که نمیدونم مشکلش چیه!! یعنی بعد از وارد شدم به دوم و زدن یکی از گزینه ها تو برنامه این پیغام رو داد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Mostafa Nasiri 16 ارسال شده در ۳۰ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ بهمن ۱۳۹۴ چرا خطای تقسیم بر صفر میده :huh: حتما مشکل از کدهای کتابخونس وگرنه کدهایی که ما دادیم خطای محاسباتی تولید نمی کنن نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
eh3andark 0 ارسال شده در ۱ اسفند ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۱ اسفند ۱۳۹۴ چرا خطای تقسیم بر صفر میده :huh: حتما مشکل از کدهای کتابخونس وگرنه کدهایی که ما دادیم خطای محاسباتی تولید نمی کنن والا چی بگم!!! در هر صورت متشکر نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .