آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

Data Sharing between activities

Russel  7 سال پیش  7 سال پیش
0 0

سلام

من در اکتیویتی اصلی مقدار یک متغیر از نوع Int رو بوسیله دستور intent.putExtra با اکتیویتی بعدی به اشتراک گذاشتم 

اما هنگام نمایش اون عدد در اکتیویتی بعدی دائما عدد صفر نمایش داده میشه !

مشکل از کجاست ؟

+1 0
کدهاتون رو بزارید اینجوری نمیشه چیزی گفت . (7 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Russel  7 سال پیش
0 0

کد اکتیویتی اصلی : 

int TempMyNumber; 
final Button btnOK = (Button) findViewById(R.id.btnOK);

btnOK.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
    if (TempMyNumber < 37) {
        Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
        intent.putExtra("My_Number", TempMyNumber);
        FirstActivity.this.startActivity(intent);
     }
  }
});

اکتیویتی دوم :

@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.form2);
   final TextView txtSelectNumber = (TextView) findViewById(R.id.txtSelectNumber);
   Bundle extras = getIntent().getExtras();
   if (extras != null) {
        int newNumber = extras.getChar("My_Number");
        txtSelectNumber.setText("" + newNumber);
   }
}

0 0
سلام مقداردهی دهی نکردی آن عدد و همیشه مقدار صفر خواهد بود من تو آن اکتیویتی اولت ندیدم برای آن number مقدارت set کرده باشی و چون مقدار defult int =0 می باشد پس همیشه مقدار آن صفر خواهد بود (7 سال پیش)
0 0
نه اینطور نیست ! در روند اجرای برنامه مقداردهی میشه. چون تعداد خطوط زیاد بود فقط همین بخش رو گذاشتم (7 سال پیش)
پاسخ به سوال 
Russel  7 سال پیش
+1 0

مشکل حل شد 
باید extras.getInt رو بکار می بردم که به اشتباه extras.getChar نوشته بودم


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .