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

چرخش گوشی باعث میشه ویدئو از اول پخش بشه

jafar  12 سال پیش  12 سال پیش
0 0

سلام

من یه ویدئو تو برناممم گذاشتم

 گوشی رو  که می چرخوننم   ویدئو دوباره از اول پخش میشه .......چی کار کنم ؟؟؟

متشکرم 

 برای این سوال 7 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
0 0

علت اینه که چرخه ی اجرا ی اکتیویتی تموم میشه و از نو ساخته میشه ، یعنی همون عکسه ! onresume و ... 

حالا شما باید ما باید قبل چرخش ، تایم قعلی رو ذخیره کنیم ، بعد چرخش ست کنیم !

اما راستش من نمیدونم تو چه رویدادی ، از استاتید خواهش میشه راهنمایی کن ، مشکل منم هست

پاسخ به سوال 
Alireza.b  12 سال پیش
0 0

توی متد onCreate اگر دقت کرده باشین bundle ای به عنوان ورودی می گیره.

حالا کافیه شما در onCreate بعد از setContentView از if زیر استفاده کنید.

اگر برابر با null بود یعنی این بار اول است که Activity اجرا می شود، اما اگر null نبود بنابراین نباید کدهای دیگر اجرا شود.

 if(savedInstanceState != null){

} else{

}
0 0
جواب منطقی است. تست کردید اطلاع بدید. (12 سال پیش)
پاسخ به سوال 
Alireza.b  12 سال پیش
0 0

 if(savedInstanceState != null){
}else{
Toast.makeText(this, "TEXT", Toast.LENGTH_SHORT).show();
}
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
+2 0

ممنون علیرضا جان 

سوالات

1- برای ذخیره ی داده ها قبل از چرخش ، درست عمل شده ؟

2 - نوع داده Boundle چیه ؟ 

3 - برای برگردوندن داده ها توی on create باید اونها رو از savedInstanceState که داریم get کنیم ؟

کد رو گذاشتم بقیه ام استفاده کنن :)

     @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        if (savedInstanceState != null)
        {
            Toast.makeText(this, "not null", Toast.LENGTH_SHORT).show();
        }
        else {
            Toast.makeText(this, "null", Toast.LENGTH_SHORT).show();
        }
    }


    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        // Save UI state changes to the savedInstanceState.
        // This bundle will be passed to onCreate if the process is
        // killed and restarted.
        savedInstanceState.putBoolean("MyBoolean", true);
        savedInstanceState.putDouble("myDouble", 1.9);
        savedInstanceState.putInt("MyInt", 1);
        savedInstanceState.putString("MyString", "Welcome back to Android");
        // etc.
    }


    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        // Restore UI state from the savedInstanceState.
        // This bundle has also been passed to onCreate.
        boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
        double myDouble = savedInstanceState.getDouble("myDouble");
        int myInt = savedInstanceState.getInt("MyInt");
        String myString = savedInstanceState.getString("MyString");
    }

 

0 0
این دستوری که اینجا زده شده _ از دستور IF واقعا فقط برای Toast استفاده شده < یعنی میشه دستور if که اینجا گذاشتید رو توی برنامه استفاده نکرد؟_ و اینکه متد هایی که برای ذخیره مقادیر ایجاد کردید؟ نباید خارج از oncreate باشه؟به این خاطر که اصلا درون oncreate ایجاد نمیشه !و اکلیپس اررور میگیره_اگر خارج از اون باشه نیاز به فراخوانی داره ؟ یا نه ؟چون وقتی خارج از oncrate ایجاد میشه اکلیپس ایرادی نمیگیره ! (12 سال پیش)
پاسخ به سوال 
jafar  12 سال پیش
0 0

  •   @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            if (savedInstanceState != null)
            {
                Toast.makeText(this, "not null", Toast.LENGTH_SHORT).show();
            }
            else {
                Toast.makeText(this, "null", Toast.LENGTH_SHORT).show();
            }
            vv = (VideoView) findViewById(R.id.videoView1);
    
            ///تنظیم آدرس ویدیو 
            vv.setVideoPath("android.resource://com.example.videotest/" + R.raw.beakhkh);
            /// افزودن یک کنترلر (در تصویر آخر کارش رو نشون دادم ) 
            vv.setMediaController(new MediaController(this));
            ///شروع فیلم و درخواست فکوس 
            vv.requestFocusFromTouch();
            vv.start();
    
        }
0 0
ماشالله این پست رو خیلی پر جواب کردید ، پر از خالی ، الان هنگامی که گوشی رو بچرخونید ، not null نمایش داده میشه ، یعنی شما باید توی این قسمت زمانی که ذخیره کردید رو بازگردانی کنید ، ولی راستش من هنوز با ویدئو کار نکردم ! (12 سال پیش)
0 0
خب برادر من باید قسمت تنظیم ویدیو رو در else بزاری (12 سال پیش)
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
0 0

پاسخی سوال مشابه در لینک زیر درج شد موفق باشید

لینک سوال

 

پاسخ به سوال 
reza.r.h  12 سال پیش
0 0

با سلام  فکر کنم از تایپ کد مقابل در manifest در   activity مورد نظر به نتیجه برسید.

android:configChanges="orientation"

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