بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
استفاده از متغیر یک متد در متدی دیگر !!!
سلام به همه ی دوستان
من میخوام کدی رو بنویسم که چند تا button داشته باشیم و کاربر روی هر کدوم از button ها که کلیک کرد متن button توی یک TextView نمایش بده
الان توی switch مقدار String one رو نمیتونم بریزم توی txt
چطوری باید این کارو انجام بدم؟
public class Main extends Activity implements View.OnClickListener { TextView txt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button num1 = (Button) findViewById(R.id.main_btn_numberone); num1.setOnClickListener(this); Button num2 = (Button) findViewById(R.id.main_btn_number2); num2.setOnClickListener(this); txt = (TextView) findViewById(R.id.main_txt); String one = num1.getText().toString(); String two = num2.getText().toString(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.main_btn_numberone: txt.setText(one); break; case R.id.main_btn_number2: break; default: break; } } }
+3
0
سلام دوست عزیز متغیر String one و String two در زیر متغیر TextView txt که تعریف کردین این دو رو هم همونجا تعریف کنین تا در کل کلاس بهش دسترسی داشته باشین (8 سال پیش)
+1
0
الان متوجه شدم
واقعا ممنونم (8 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
احمد
8 سال پیش
+3
0
مرتب شده کدتون + اصلاحات میشه
public class Main extends Activity implements View.OnClickListener { TextView txt; String one, two; Button num1, num2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); num1 = (Button) findViewById(R.id.main_btn_numberone); num2 = (Button) findViewById(R.id.main_btn_number2);
txt = (TextView) findViewById(R.id.main_txt); num1.setOnClickListener(this); num2.setOnClickListener(this); one = num1.getText().toString(); two = num2.getText().toString(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.main_btn_numberone: txt.setText(one); break; case R.id.main_btn_number2: break; default: break; } } }
اول اینکه شما فقط تعریفش رو خارج از متد oncreate انجام دادین و مقدار دهی رو دارین داخل این متد انجام میدین دوم اینکه ببنید از نظر life cycle حالا من کاری ندارم به این که چند تا از متد ها مثل onstart و ... قبل از oncreate اجرا میشن ولی در این برنامه ای که شما نوشتین اولین متدی که اجرا میشه oncreate هست و دستورات داخلش پس دو تا متغیر String one, two; مقدار دهی میشن و تمام و دستور switch کی اجرا میشه موقعی که شما روی دکمه کلیک کنین پس چون متد oncreate و دستورات داخلش قبل اینکه شما روی دکمه ای کلیک کنین اجرا میشه پس داخل switch داخلشون پر هست (8 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .