조각의 주제에 대한 상담을 받았고 도와 드릴 수 있기를 바랍니다. 오리엔테이션 (세로 및 가로)을 제어하는 데 사용하는 두 개의 레이아웃을 작성했으며 두 클래스 모두 같은 클래스 조각을 호출합니다. 오리 엔테이션 (세로)에서 루틴을 실행하고 있지만 괜찮 았지만 오리 엔테이션이 변경되면 객체가 "다시 시작"되거나 "다시 생성"됩니다.이 인스턴스는 savedInstanceState()로 생성 된 인스턴스의 유효성을 검사하여 수정할 수 있습니다. ,하지만 귀하의 도움을 주셔서 감사합니다두 개의 레이아웃을 가진 조각
인사말.
PS : 죄송합니다 내 영어
public class AlbumDetail extends Activity {
....
private Bundle bundle = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.bundle = savedInstanceState;
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.albumdetail_p);
initUI();
} else {
setContentView(R.layout.albumdetail_l);
initUI();
}
lstSongs.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
pos = position;
if (bundle == null){
PlayFragment fragment = (PlayFragment) getFragmentManager().findFragmentById(R.id.fragmentPlay);
if (fragment != null && fragment.isInLayout()) {
fragment.getPlaySong(pos,isRandom,songs);
}
}
}
});
}
private void initUI(){
/* Initialize variables */
}
}
public class PlayFragment extends Fragment{
private Intent playIntent;
private View view;
....... //Variables
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragmentplay, container, false);
return view;
}
public void onSaveInstanceState(Bundle bundle){
super.onSaveInstanceState(bundle);
}
public void initUI(){
/* Initialize variables*/
}
public void getPlaySong(int position, boolean isRandom, Object lstSong) {
initUI();
try {
playIntent = new Intent(getActivity().getBaseContext(), PlaySongServiceFragment.class);
playIntent.putExtra("pos", position);
playIntent.putExtra("rnd", isRandom);
playIntent.putExtra("list", (Serializable) lstSong);
getActivity().startService(playIntent);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
오른쪽으로, 내가 무엇을 나타내는 지 검토하겠습니다. 나는 의견을 말하면서 고마워. –