Есть PageViewer, состоящий из нескольких фрагментов. На данный момент фрагментов 3. При переключении фрагментов в этом PageViewer сбрасывается seekBar во фрагменте с плеером и кнопка play перестает работать. Код MainActivity:
public class MainActivity extends AppCompatActivity {
ViewPager viewPager;
RecyclerView recyclerView;
AudioPlayerFragment audioPlayerFragment = AudioPlayerFragment.newInstance();
MapFragment mapFragment = MapFragment.newInstance();
VkFragment vkFragment = VkFragment.newInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
getSupportActionBar().hide();
PageAdapter pageAdapter = new PageAdapter(getSupportFragmentManager(), audioPlayerFragment, mapFragment, vkFragment);
viewPager = (ViewPager)findViewById(R.id.viewPager);
viewPager.setAdapter(pageAdapter);
}
}
Код PageAdapter:
public class PageAdapter extends FragmentPagerAdapter {
AudioPlayerFragment audioPlayerFragment;
MapFragment mapFragment;
VkFragment vkFragment;
public PageAdapter(FragmentManager fragmentManager,AudioPlayerFragment audioPlayerFragment, MapFragment mapFragment, VkFragment vkFragment){
super(fragmentManager);
this.audioPlayerFragment = audioPlayerFragment;
this.mapFragment = mapFragment;
this.vkFragment = vkFragment;
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0: return audioPlayerFragment;
case 1: return mapFragment;
case 2: return vkFragment;
}
return null;
}
@Override
public int getCount() {
return 3;
}
}
Код AudioPlayerFragment:
public class AudioPlayerFragment extends Fragment {
private SquareImageView squareImageView;
private MediaPlayer mediaPlayer;
private SeekBar seekBarAudioPlayer;
private ImageButton imageButtonAudioPlayerPlay;
private final Handler handler = new Handler();
boolean isPlay = false;
@Override
public void onResume(){
super.onResume();
seekBarAudioPlayer.setProgress(mediaPlayer.getCurrentPosition());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View view = inflater.inflate(R.layout.audio_player,container,false);
imageButtonAudioPlayerPlay = (ImageButton)view.findViewById(R.id.imageButtonAudioPlayerPlay);
squareImageView = (SquareImageView)view.findViewById(R.id.squareImageViewAlbumPic);
squareImageView.setImageResource(R.drawable.bnv_translator);
mediaPlayer = MediaPlayer.create(view.getContext(), R.raw.believer);
seekBarAudioPlayer = (SeekBar)view.findViewById(R.id.seekBarAudioPlayer);
seekBarAudioPlayer.setMax(mediaPlayer.getDuration());
seekBarAudioPlayer.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(mediaPlayer.isPlaying()){
mediaPlayer.seekTo(seekBarAudioPlayer.getProgress());
}
return false;
}
});
imageButtonAudioPlayerPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!isPlay) {
try {
mediaPlayer.start();
startPlayProgressUpdater();
isPlay = true;
} catch (IllegalStateException e) {
mediaPlayer.pause();
isPlay = false;
}
}else
{
mediaPlayer.pause();
isPlay = false;
}
}
});
seekBarAudioPlayer.setProgress(mediaPlayer.getCurrentPosition());
return view;
}
public static AudioPlayerFragment newInstance(){
AudioPlayerFragment audioPlayerFragment = new AudioPlayerFragment();
Bundle bundle = new Bundle();
audioPlayerFragment.setArguments(bundle);
return audioPlayerFragment;
}
public void startPlayProgressUpdater(){
seekBarAudioPlayer.setProgress(mediaPlayer.getCurrentPosition());
if (mediaPlayer.isPlaying()){
Runnable notification = new Runnable() {
@Override
public void run() {
startPlayProgressUpdater();
}
};
handler.postDelayed(notification, 1000);
}
else {
mediaPlayer.pause();
//seekBarAudioPlayer.setProgress(0);
}
}
}
Заранее благодарю за вашу помощь!
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Cервлет должен создавать задание, но выводиться ошибка "Неправильный синтаксис около конструкции "GO" Не могу понять в чем ошибка, может кто-то...
Данный вопрос уже был задан и имеет решение:
Имею много таблиц в БД с разных кол-вом полей, которые необходимо вывести в JTableИдея такова: