وقتی دکمه Back رو میزنم به اکتیویتی قبل بر نمی گردد!! بلکه به دو اکتیویتی قبل بر می گردد!!
سلام دوستان یه برنامه محتوایی دارم شامل سی اکتیویتی (آیتم) که هر اکتیویتی محتوای خاص خودشو داره ، من یه منوی کشویی کلی تعریف کردم که در تمام اکتیویتی ها باز میشه ،محتوای اکتیویتی های من شامل گوگل مپ و ویدئو هستند که برای اجرا نیاز به اینترنت دارن ، وقتی منوی کشویی باز میشه و روی هرکدام از آیتم های آن (تنظیمات ، منابع و ...)کلیک می کنم وارد اکتیویتی جدید میشه ، مشکل اینه که وقتی دکمه Back رو میزنم تا وارد همون اکتیویتی بشه که منوی کشویی در آن باز شده ، وارد اون اکتیوتی نمیشه بلکه از اون پرش می کنم و به دو اکتیوتی قبل برمی گرده ، جالبیش اینه که ،وقتی به نت وصل نیست عادی و صحیح کار می کنه ولی وقتی به نت وصل میشم ، این مشکل پیش میاد
دوستان کد هایی که وابسته به نت بودن رو یکی یکی در اکتیوتی جدید اجرا کردم و به کدی رسیدم که باعث مشکل شده لطفا کمک کنید ببینیم کجای این کد مشکل داره که در موقع زدن دکمه بک اکتیویتی قبل بسته میشه
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Surface m_surface = new Surface(surface);
try {
m_mp.setDataSource(m_video);
m_mp.setSurface(m_surface);
m_mp.prepareAsync();
m_mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
img_m_play1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
m_mp.start();
img_m_play1.animate().alpha(0).setDuration(2000);
img_m_play2.setImageResource(R.drawable.pause48);
}
});
img_m_play2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (m_mp.isPlaying()){
m_mp.pause();
img_m_play1.animate().alpha(1).setDuration(1000);
img_m_play2.setImageResource(R.drawable.play48);
}else {
m_mp.start();
img_m_play1.animate().alpha(0).setDuration(2000);
img_m_play2.setImageResource(R.drawable.pause48);
}
}
});
}
});
}catch (IOException e){
e.printStackTrace();
}
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Surface m_surface = new Surface(surface);
try {
m_mp.setDataSource(m_video);
m_mp.setSurface(m_surface);
m_mp.prepareAsync();
m_mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
img_m_play1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
m_mp.start();
img_m_play1.animate().alpha(0).setDuration(2000);
img_m_play2.setImageResource(R.drawable.pause48);
}
});
img_m_play2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (m_mp.isPlaying()){
m_mp.pause();
img_m_play1.animate().alpha(1).setDuration(1000);
img_m_play2.setImageResource(R.drawable.play48);
}else {
m_mp.start();
img_m_play1.animate().alpha(0).setDuration(2000);
img_m_play2.setImageResource(R.drawable.pause48);
}
}
});
}
});
}catch (IOException e){
e.printStackTrace();
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
