نمایش نتایج 1 تا 8 از 8

نام تاپیک: تغییر مقدار متغیر سراسری؟

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1395
    پست
    86

    Question تغییر مقدار متغیر سراسری؟

    من یک متغیر سراسری میخوام که در یک اکتیویتی اون رو مقداردهی کنم و در اکتیویتی های دیگه فراخوانیش کنم؛
    منتها هر چی مقدار دهی میکنمش وقتی در اکتیویتی های دیگه فراخوانی میکنم فقط بازم مقدار صفر رو بر میگردونه!
    چیکار کنم؟

  2. #2

    نقل قول: تغییر مقدار متغیر سراسری؟

    یعنی می خواهید یه متغیر public static رو مقدار بدید.!
    دوست عزیز متغیر های استاتیک در heap حافظه ذخیره میشن پس بنابراین فقط یکبار مقدار میگیرن البته اگر از نوع داده اولیه باشن پس دیگه نمی تونید از اکتیویتی های دیگه بهش مقدار بدید.!
    حالا برای رفع اشکال بهتره که این کار کنید.!


    public class MyClass {

    private int a ;
    public final ObserverValueSet observerValueSet = a -> MyClass.this.a = a;
    public final ObserverValueGet observerValueGet = () -> MyClass.this.a;
    public MyClass() { }

    public interface ObserverValueSet {
    void setValue(int a);
    }

    public interface ObserverValueGet {
    int get();
    }
    }

    و تو اکتیویتی ویا هر کلاس دیگه ای هم اینطوری فراخوانی کنید...

    MyClass x = new MyClass();
    x.observerValueSet.setValue(1);
    int o = x.observerValueGet.get();
    آخرین ویرایش به وسیله farhad_shiri_ex : چهارشنبه 05 اردیبهشت 1397 در 10:44 صبح

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1395
    پست
    86

    نقل قول: تغییر مقدار متغیر سراسری؟

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    یعنی می خواهید یه متغیر public static رو مقدار بدید.!
    دوست عزیز متغیر های استاتیک در heap حافظه ذخیره میشن پس بنابراین فقط یکبار مقدار میگیرن البته اگر از نوع داده اولیه باشن پس دیگه نمی تونید از اکتیویتی های دیگه بهش مقدار بدید.!

    [/JAVA]
    اها پس متغیر سراسری رو اشتباه گفتم،
    ببینید من میخوام مثلا تو اکتیویتی اول عدد رو از کاربر بگیرم و ذخیره ش کنم،
    بعد هر وقت کاربر خواست به اکتیویتی دوم یا سوم و .. بره اون عدد مثلا نمایش داده بشه

  4. #4

    نقل قول: تغییر مقدار متغیر سراسری؟

    نه همون متغیر سراسری درست گفتید!
    منتهی در زبان جاوا چون شی گرایی محض رعایت میشود مثل زبان سی پلاس پلاس نمی تونید یک متغیر Global تعریف کنید ازش استفاده کنید یعنی کلا کار جالبی نیست و قوانین پنهان سازی اطلاعات رو نقض میکنه!
    در جواب سوال شما هم کدی که در بالا نوشتم مشکلتون را حل خواهد کرد کافی است که در اکتیویتی که از کاربر عدد را دریافت میکنید کلاسی که در بالا گذاشتم تعریف کنید و بعد هم که نحوه استفاده اش را در اکتیویتی دیگه هم که خیلی سر راست پس به راحتی میتونید هم از اکتیویتی دیگه بهش مقدار بدید و هم مقدار رو بخونید.
    فقط فیلدی که به نام a تعریف کردم رو با متغیر خودتون جابجا کنید و البته اینترفیس ها روهم ویرایش کنید که داده شما رو انتقال بدهند.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1395
    پست
    86

    نقل قول: تغییر مقدار متغیر سراسری؟

    ببخشید من هنوز سر این موضوع گیرم، اگه میشه کمک کنید کارم راه بیافته، کل اینترنتو گشتم!

  6. #6

    نقل قول: تغییر مقدار متغیر سراسری؟

    نقل قول نوشته شده توسط ilalia2 مشاهده تاپیک
    ببخشید من هنوز سر این موضوع گیرم، اگه میشه کمک کنید کارم راه بیافته، کل اینترنتو گشتم!
    اینو خوب اومدی !!! مگه داریم که تو اینترنت نباشه..
    به هر حال مشکلت چی کجاست ؟؟؟

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1395
    پست
    86

    نقل قول: تغییر مقدار متغیر سراسری؟

    الان این کدی که شما گفتین رو سر درنیاوردم!
    اگه میشه کدش رو بنویسید و من با همون متغیر ها کپی کنم.

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1395
    پست
    86

    نقل قول: تغییر مقدار متغیر سراسری؟

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    اینو خوب اومدی !!! مگه داریم که تو اینترنت نباشه..
    به هر حال مشکلت چی کجاست ؟؟؟
    الان این کدی که شما گفتین رو سر درنیاوردم!
    اگه میشه کدش رو بنویسید و من با همون متغیر ها کپی کنم.

تاپیک های مشابه

  1. مشکل با تغییر مقدار متغیر با باتون
    نوشته شده توسط mei3am در بخش Android Studio
    پاسخ: 5
    آخرین پست: یک شنبه 05 آبان 1392, 12:18 عصر
  2. سوال: تغییر مقدار متغیر یک فرم دیگر
    نوشته شده توسط madrid-poorya در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 13 اسفند 1391, 14:48 عصر
  3. تغییر مقدار متغیر به یک picturebox??
    نوشته شده توسط dada_shi در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 24 بهمن 1388, 12:50 عصر
  4. سوال: تغییر مقدار متغیر در SelectedIndexChanged
    نوشته شده توسط maxpayn2 در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: سه شنبه 29 دی 1388, 13:28 عصر
  5. سوال: تغییر مقدار متغیر یک فرم از فرمی دیگر
    نوشته شده توسط ali190 در بخش Access
    پاسخ: 6
    آخرین پست: سه شنبه 22 دی 1388, 21:59 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •