마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

tabhost에서 탭간 setVisibility가 작동하지 않습니다.

0 추천
//탭 class
public class LikedActivity extends TabActivity {
public static int width = 0;
 
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_liked);
initializeTab();
getLcdSIzeWidth(); // 가로 크기 가져오기.
}
 
private void initializeTab() {
TabHost tabHost = getTabHost();
Resources res = getResources();
//bookmark
Intent intent1 = new Intent().setClass(LikedActivity.this,BookMarkActivity.class);
    TabSpec bookmark = tabHost.newTabSpec("").setIndicator("",res.getDrawable(R.drawable.bookmark)).setContent(intent1);
    tabHost.addTab(bookmark);
    //최근통화
    Intent intent2 = new Intent().setClass(LikedActivity.this,LateCallActivity.class);
    TabSpec lateCall = tabHost.newTabSpec("").setIndicator("",res.getDrawable(R.drawable.latecall)).setContent(intent2);
    tabHost.addTab(lateCall);
    /*
    //연락처
    Intent intent3 = new Intent().setClass(LikedActivity.this,TellActivity.class);
    TabSpec tell = tabHost.newTabSpec("").setIndicator("",res.getDrawable(R.drawable.tell)).setContent(intent3);
    tabHost.addTab(tell);
    //키패드
    Intent intent4 = new Intent().setClass(LikedActivity.this,KeyPadActivity.class);
    TabSpec keyPad = tabHost.newTabSpec("").setIndicator("",res.getDrawable(R.drawable.keypad)).setContent(intent4);
    tabHost.addTab(keyPad);
    //환경설정
    Intent intent5 = new Intent().setClass(LikedActivity.this,EditActivity.class);
    TabSpec edit = tabHost.newTabSpec("").setIndicator("",res.getDrawable(R.drawable.keypad)).setContent(intent5);
    tabHost.addTab(edit);
*/
    tabHost.setCurrentTab(2);
for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
tabHost.getTabWidget().getChildAt(i)
.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().getChildAt(i).setPadding(0, 0, 0, 0);
}
 
}
 
public int getLcdSIzeWidth() {
width = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay().getWidth();
return ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay().getWidth();
}
 
//첫번째 탭 activity
public class BookMarkActivity extends Activity{
static Button btn1, btn2;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bookmark);
btn1 = (Button)findViewById(R.id.btn1);
btn2 = (Button)findViewById(R.id.btn2);
}
 
}
//두번째 탭 activity
public class LateCallActivity extends Activity implements OnClickListener {
 
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_latecall);
findViewById(R.id._btn1).setOnClickListener(this);
findViewById(R.id._btn2).setOnClickListener(this);
}
 
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id._btn1:
BookMarkActivity.btn1.setVisibility(View.VISIBLE);
BookMarkActivity.btn2.setVisibility(View.INVISIBLE);
break;
case R.id._btn2:
BookMarkActivity.btn1.setVisibility(View.INVISIBLE);
BookMarkActivity.btn2.setVisibility(View.VISIBLE);
break;
}
}
}
 
지금 두번째 탭에서 R.id._btn1을 클릭하면 첫번째 탭에서 1번 버튼이 보이게 했고 R.id._btn2을 클릭하면 첫번째 탭에서 2번 버튼이 보이게 했는데 Log cat에서는 error메세지도 안뜨고 코드상에도 문제가 없는 거 같은데 아무리 해도 버튼이 사라라지지가 않습니다. 
무슨 이유인지 아시는 분좀 답변 부탁 드립니다.

 

gkahsl200 (220 포인트) 님이 2014년 5월 23일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...