ورود

View Full Version : disable کردن دکمه یه اکتیویتی دیگه چطور انجام میشه ؟



badname
شنبه 07 تیر 1393, 02:00 صبح
من از findViewById(R.id.btn2).setEnabled(false);
استفاده کردم نشد فک کنم اینجوری نمیشه یه عکس پیوست کردم قشنگ جا بیوفته :لبخند:
120550

poorman
شنبه 07 تیر 1393, 02:16 صبح
اول جدا دکمه رو تعریف کنین با آیدی، بعد بگین btn.setEnabled ببینین درست میشه ؟

dasssnj
شنبه 07 تیر 1393, 08:15 صبح
خب توی اکتیویتی دوم وقتی دکمه کلیک شد یه boolean توی shared prefrance ذخیره کن . بعد توی تابع onCreate اکتیویتی home چک ش کن اگه true بود دکمه را disable کن اگه نبود نکن.

badname
شنبه 07 تیر 1393, 12:16 عصر
اول جدا دکمه رو تعریف کنین با آیدی، بعد بگین btn.setEnabled ببینین درست میشه ؟
روشی که شما گفتین Stop میده ، نمیدونم بخاطر اینکه برای یه اکتیویتی دیگه ست نمیشه یا بخاطر اینه که دکمه ورود به همین اکتیویتیه نمیشه .
ساده بودا نمیدونم چرا نمیشه هر جوری تست کردم :لبخندساده:

dasssnj
شنبه 07 تیر 1393, 12:19 عصر
روشی که شما گفتین Stop میده ، نمیدونم بخاطر اینکه برای یه اکتیویتی دیگه ست نمیشه یا بخاطر اینه که دکمه ورود به همین اکتیویتیه نمیشه .
ساده بودا نمیدونم چرا نمیشه هر جوری تست کردم :لبخندساده:

shred prefs را تست کردی ؟
تو توی اون اکتیویتی فقط مقدار true را ذخیره کن . برای اینکه کرش نکنه توی اکتیویتی اصلی باتن را بر اساس پرفرنس disable کن.
می خوای یه پروژه ی تست بسازم برات ؟

badname
شنبه 07 تیر 1393, 12:49 عصر
shred prefs را تست کردی ؟
تو توی اون اکتیویتی فقط مقدار true را ذخیره کن . برای اینکه کرش نکنه توی اکتیویتی اصلی باتن را بر اساس پرفرنس disable کن.
می خوای یه پروژه ی تست بسازم برات ؟
داشتم تست میکردم نشد کرش نکرد ، ولی عملم نکرد فک کنم اشتباه مینویسم :ناراحت:
نه داداش نمیخوام وقتتو بگیرم ، شرمندت میشم. با کد اینجا راهنمایی کنی خودم جفتو جورش میکنم :لبخندساده:

dasssnj
شنبه 07 تیر 1393, 13:01 عصر
اینو توی تابع onclick دکمه توی اکتیویتی دوم بنویس:

SharedPreferences s = getSharedPreferences("disable", Context.MODE_PRIVATE);
s.edit().putBoolean("isenabled", false).commit();


اینو توی تابع oncreate اکتیویتی هوم بنویس و آی دی دکمه ت را جای اون آی دی بزار :

SharedPreferences ss = getSharedPreferences("disable", Context.MODE_PRIVATE);
Button m = (Button)findViewById(R.id.button1);
m.setEnabled(ss.getBoolean("isenabled", true));

تست کن ببین چی میشه

mfaridi
شنبه 07 تیر 1393, 13:13 عصر
شما باید با intent این کار رو انجام بدید به این صورت intent.putExtra("enable", true); بعد اکتیویتی رو استارت کنید و توی اکتیویتی بعدی نتیجه intent رو بگیرید

badname
شنبه 07 تیر 1393, 13:31 عصر
اینو توی تابع onclick دکمه توی اکتیویتی دوم بنویس:

SharedPreferences s = getSharedPreferences("disable", Context.MODE_PRIVATE);
s.edit().putBoolean("isenabled", false).commit();

عالی بود ، ولی یه مشکلی دارم باهاش ، باید یبار برنامه رو ببندم دوباره بیام تا عمل کنه :لبخندساده:
اینو توی تابع oncreate اکتیویتی هوم بنویس و آی دی دکمه ت را جای اون آی دی بزار :

SharedPreferences ss = getSharedPreferences("disable", Context.MODE_PRIVATE);
Button m = (Button)findViewById(R.id.button1);
m.setEnabled(ss.getBoolean("isenabled", true));

تست کن ببین چی میشه
عالی بود ، فقط یه مشکلی داشت (باید یبار میبستم برنامه رو دوباره باز میکردم تا کار کنه ، بسته شه) که با این حل شد :

protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
updatebtn();



@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
updatebtn();
}

public void updatebtn() {
SharedPreferences ss = getSharedPreferences("disable", Context.MODE_PRIVATE);
Button m = (Button)findViewById(R.id.buttonSignUP);
m.setEnabled(ss.getBoolean("isenabled", true));
}

badname
شنبه 07 تیر 1393, 13:34 عصر
شما باید با intent این کار رو انجام بدید به این صورت intent.putExtra("enable", true); بعد اکتیویتی رو استارت کنید و توی اکتیویتی بعدی نتیجه intent رو بگیرید
ممنون حل شد ، روش شمام میشد به ذهنم نرسیده بود :لبخند: :

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle b = new Bundle();
b.putInt("key", 1); //Your id
intent.putExtras(b); //Put your id to your next Intent
startActivity(intent);
finish();