TabView를 이용하지 않고...
약 5개의 버튼을 모든 화면(약 5~60개)에 똑같이 보이게 하려 합니다..
어떤 방법이 있을까요?
생각해본 방법은...
1.
xml 에서 5개버튼 레이아웃을 include 하는것.... 이것은 각 엑티비티 마다 버튼 실행 메소드를 넣줘야 하는.. 소스 중복이 문제 ㅠ.ㅠ
2.
타이틀 바에 버튼을 추가 하는것..... 이것 또한 각 엑티비티마다 메소드 추가 필요 위와 같은 문제
3.
menu에 추가해서 각페이지 마다 menu를 넣 주는것... 이것 역시 좀... ㅠ.ㅠ
궁금합니다
고수님들은 어떤 방법으로 하나요? 결국 TabView 인가요?
TabView를 사용했더니.. 탭내부에서 엑티비티 호출시 히스토리 관리가 안되서 문제가 있더군요
그 히스토리를 해결하는 방법은 View를 리스트로 관리하던데.... 이방법 에서는 돌아가기 했을때 onResume 이 호출이 안되서 문제가 되기에..
조그만 힌트라도 알려줍사 이렇게 글을 남겨 봅니다~!
@제이킴
답글 감사합니다
View view = getLocalActivityManager().startActivity(
"BBB",
new Intent(this, BBB.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
위와 같이 뷰를 에다가 엑티비티를 넣어서 저 뷰의 리스트를 갖고서 뒤로 전환을 하는데... onResume 된다는 말씀이신지요?
제가 지금 하려는건 한개의 탭 안에서 엑티비티를 줄줄이 호출하고.. 그 히스토리를 유지 하려는겁니다..
위와 같은 방법이 아닌 다른 방법이 있나요?
바쁘시겠지만.. 어케 하셨는지 간단히라도 좀 알려주세요~!
private ArrayList<View> history;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.history = new ArrayList<View>();
group = this;
View view = getLocalActivityManager().startActivity("MapAct", new
Intent(this,Tab1.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY))
.getDecorView();
replaceView(view);
}
public void replaceView(View view) {
// TODO Auto-generated method stub
history.add(view);
setContentView(view);
}
public void back() {
Log.e("back", "" + history.size());
if(history.size() > 0) {
history.remove(history.size()-1);
try {
setContentView(history.get(history.size()-1));
} catch (ArrayIndexOutOfBoundsException e) {
// TODO Auto-generated catch block
finish();
}
}else {
finish();
}
}




tabview 에서 onResume 잘 됩니다. 다만 부모의 onResume을 호출하는 것이지
tab1 에서 a 액티비티에서 b로 간다음 a로 돌아 가는데 onResume을 호출하여 돌아 가는 것이 아닙니다.
액티비티 구룹에서 뷰를 쌓아놓은 형식이기 때문에 b 뷰를 제거 해주고 a를 보여줍니다.
액티비티 a 와 b는 액티비티라기 보다 액티비티 구룹 안에 뷰로 봐야 합니다.