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

نمایش ایتمهای ارایه در Toast(حل نشده!)

Stark  10 سال پیش  8 سال پیش
0 0

سلام خدمت همه دوستان

لطفا اخرین سوال رو جواب بدین 

ممنون

 

 

0 0
(10 سال پیش)
+1 0
شما در مورد android service broadcastreceiver سرچ کنید جواب تون رو پیدا میکنید (10 سال پیش)
0 0
(10 سال پیش)
 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
Stark  10 سال پیش
0 0

اینم کدهای برنامم

Activity_Main

  start = (Button) findViewById(R.id.start);
        int min = 2;
        int max = 9;
        Random r = new Random();
        final int i1 = r.nextInt(max - min + 1) + min;

        start.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);

                Calendar cal = Calendar.getInstance();
                cal.add(Calendar.SECOND, 1);

                long time = cal.getTimeInMillis();

                Intent i = new Intent(Activity_Main.this, MyReceiver.class);

                PendingIntent pi = PendingIntent.getBroadcast(Activity_Main.this, 0, i, 0);


                // am.set(AlarmManager.RTC_WAKEUP,time,pi);                //مدت زمان نمایش توست روی صفحه

                am.setInexactRepeating(AlarmManager.RTC_WAKEUP, time, i1 * 1000, pi);
            }
        });

//MyReceive



@Override public void onReceive(Context con, Intent arg1) { int min = 767; int max = 768; Random r = new Random(); int i1 = r.nextInt(max - min + 1) + min; min = 767; max = 768; r = new Random(); int i2 = r.nextInt(max - min + 1) + min; final Toast t1 = Toast.makeText(con, "TOAST", Toast.LENGTH_SHORT); t1.setGravity(Gravity.CENTER, i1, i2); t1.show();

پاسخ به سوال 
k112  10 سال پیش
+1 0

از این کد استفاده کن

final Toast t = Toast.makeText(getBaseContext(), "message",Toast.LENGTH_SHORT);
t.show();

new CountDownTimer(3000, 1000) {

public void onTick(long millisUntilFinished) {t.show();}
public void onFinish() {t.show();}

}.start();

این کد باعث میشه 5 ثانیه نشون بده

2 ثانیه به خاطر Toast.LENGTH_SHORT و سه ثانیه هم که در CountDownTimer اعلام شده

0 0
خیلی ممنون ولی من میخوام کمتر از این نمایش بده ئر حد صدم ثانیه! (10 سال پیش)
+1 0
از این کلاسی که برات میذارم استفاده کن، اگه میخوای درحد صدم ثانیه باشه اون عدد آخر کلاس رو مثلا بذار 200 (10 سال پیش)
پاسخ به سوال 
alfredo  10 سال پیش
+1 0

یک کلاس بساز به اسم Toaster و این کدها رو براش بذار

 
public class Toaster {

    private static final int SHORT_TOAST_DURATION = 500;


    private Toaster() {}


    public static void makeLongToast(String text, long durationInMillis) {
        final Toast t = Toast.makeText(G.context, text, Toast.LENGTH_SHORT);
        t.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);

        new CountDownTimer(Math.max(durationInMillis - SHORT_TOAST_DURATION, 100), 100) { // <===== این عداد هم کنترل زمان مرکزی هستند

            @Override
            public void onFinish() {
                t.show();
            }


            @Override
            public void onTick(long millisUntilFinished) {
                t.show();
            }
        }.start();

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {

            public void run() {
                t.cancel();
            }
        }, 500);
    }
}

حالا هرجا خواستی توست بزنی کد زیر رو بنویس 

 Toaster.makeLongToast("  متن مورد نظر" + CounterActivity.CS, 10);

 اون 10 آخر رو میبینی ؟ اون زمانشه ، هرچی بیشترش کنی بیشتر میشه. فکر کنم 1000 میشه یک ثانیه.

اون 500 که آخر کد کلاس نوشته شده یعنی مثلا بعد از 0/5 ثانیه توست رو کنسل کن. یادش باشه اون رو هم یه عدد زیاد بذاری. چون توست زیر یک ثانیه ای نداریم، برای توست های زیر یک ثانیه از اون استفاده می کنند.

 

 

0 0
قسمت اخر CounterActivity.CS این CS رو چی باید تعریف کنم؟ اون 10 اخر ک نوشتید مدت زمان نمایشه توست هست ؟یا اینکه بعد از این مدت توست بعدی نمایش داده میشه؟ (10 سال پیش)
0 0
تو متد makeLongToast هم به تعریف توست گیر میده و میگه باید از ()Show. استفاده کن که اونم میذارم بازم مشکل حل نمیشه و کرش میکنه (10 سال پیش)
+1 0
ببخشید من اینجاشو هواسم نبود بهتون بگم. counterActivity اسم کلاسی هست که میخواید توست داخلش نمایش داده بشه. اونجا اسم کلاس خودتون رو بنویسید. یا .this استفاده کنید. اون CS هم یک عدد داخلشه. شما لازم ندارید اون رو. (10 سال پیش)
+1 0
اصلا اوت CounterActivity.cs رو شما پاک کنید و ننویسید. اون آدرس یک عدد هست فقط. (10 سال پیش)
0 0
@alfredo ممنون از راهنماییتون...یه هندلر گذاشتم مشکل حل شد و الان میخوام شکل و نوشته توست رو عوض کنم و از حالت پیشفرض در بیارم--چجوری این کارو انجام بدم؟ (10 سال پیش)
+1 0
خواهش، والا من فقط از این استفاده میکنم تا توست زیر یک ثانیه انجام بدم، اونقدر ازش سر در نمیارم، ولی اون قسمت random location on screen که کامنت شده مربوط به جای نشون دادن توست هست که استفاده کردم و کار کرد... (10 سال پیش)
پاسخ به سوال 
Stark  10 سال پیش
0 0

دوستان برای اینکه توست رو به ارایه وصل کنم و همه اندیسهای ارایه رو یکی یکی  با توست نشون بدم چکار باید بکنم؟

 //MyReceive
final Handler mHandler = new Handler(); mHandler.postDelayed(new Runnable() { @Override public void run() { Random r = new Random(); int i1 = r.nextInt(Activity_Main.w); r = new Random(); int i2 = r.nextInt(Activity_Main.h); Log.d("tag : ", i1 + " : " + i2); for (String arr : array) { t1 = Toast.makeText(mContext, arr, Toast.LENGTH_SHORT); } //delay in show toast duration 100ms Handler h = new Handler(); h.postDelayed(new Runnable() { @Override public void run() { t1.cancel(); } }, 100); //random location on screen t1.setGravity(Gravity.TOP, i1, i2); t1.show(); //delay in show next toast int min = 3; int max = 8; Random random = new Random(); int d = random.nextInt(max - min + 1) + min; Log.d("random ", String.valueOf(d)); mHandler.postDelayed(this, d * 1000); } }, 100);

یه for گذاشتم که ارایه رو میخونه اما فقط اندیس اخر ارایه رو نشون میده و وقتی که داخل بلاک For از ()t1.show استفاده میکنم درست میشه ولی هندلری ک نوشتم برای تغییر گراویتی و مدت زمان نمایش توست از کار میافته

ممنون میشم راهنمایی کنید

+1 0
با for که نمیشه چون تو یه لحظه تا اخر میره .... به نظرم از Iterator استفاده کن ... (10 سال پیش)
0 0
k112-میشه بفرمایید چطوری این کارو انجام بدم؟کلی در موردش خوندم ولی جواب نداد تو برنامه (10 سال پیش)
+1 0
والا اول گفتم ولی الان چک کردم بهرحال برای ایترتور هم باید حلقه استفاده کنی که قطعا نتیجه همون خواهد بود ... (10 سال پیش)
+1 0
والا اول گفتم ولی الان چک کردم بهرحال برای ایترتور هم باید حلقه استفاده کنی که قطعا نتیجه همون خواهد بود ... (10 سال پیش)
+1 0
والا اول گفتم ولی الان چک کردم بهرحال برای ایترتور هم باید حلقه استفاده کنی که قطعا نتیجه همون خواهد بود ... شما میتونی در onfinish توست قبلی یک شی توست دیگه بسازی (10 سال پیش)
0 0
اقا کسی نیست این مشکلو حل کنه؟ (10 سال پیش)
پاسخ به سوال 
GoldKing  8 سال پیش
0 0

دوست عزیز من مشکلت را دقیق نفهمیدم! میخواهی عناصر داخل یک ارایه را یکی یکی و بصورت متوالی هر کدام را داخل یک toast جدا نشون بدی؟؟؟

 
0 0
سلام دوست عزیز این تاپیک مال یه ساله پیشه ! (8 سال پیش)

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