2010-07-30 3 views
0

나는 내 활동을 탭에 두는 데 정말로 힘든 시간을 보내고 있습니다. XML 파일을 구문 분석하여 목록에 넣는 활동이 있으며, 자체적으로 완벽하게 작동합니다. 그러나 그것을 탭에서 호출하면 작동하지 않습니다. (나는 두려운 "죄송합니다 ... 어쩌면 .. 예기치 않게 멈췄습니다."라는 프롬프트가 나옵니다.) BTW 예.탭과 활동이 함께하지 않는 경우. 속임수를 쓸 수있는 방법이 있습니까?

나는 하나의 활동으로 활동을 옮겼다. 그것은 일했다 !!! 그러나 이것은 우리가이 프로젝트에 참여하기를 원하는 방식이 아닙니다. 우리는 정말로 별도의 활동이 필요합니다.

많은 사람들이 탭과 활동이 잘 어울리지 않는다는 사실을 알고 있기 때문에이를 해결할 방법이 있습니까? 어떤 종류의 유화제일까요?

코드는 다음과 같습니다.

import android.app.Activity; import android.content.Intent; import android.os.Bundle; 가져 오기 android.widget.TabHost; import android.widget.Toast;

공용 클래스 TabDemo 나는 부분을 구문 분석 XML을 ...이 기본 경우 생략 {여기

/** data members go here*/ 

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 

    try { 
     TabHost tabs= (TabHost)findViewById(R.id.tabhost); 

     tabs.setup(); 
     Intent callResultHits = new Intent(this, my.tabebd.layout.ResultHits.class); 

     TabHost.TabSpec spec = tabs.newTabSpec("tag1"); 
     spec.setContent(callResultHits); 
     spec.setIndicator("Result", getResources().getDrawable(R.drawable.ic_tab_search_result)); 
     tabs.addTab(spec); 

     spec = tabs.newTabSpec("tag2"); 
     spec.setContent(R.id.tab2); 
     spec.setIndicator("Details",getResources(). 
          getDrawable(R.drawable.ic_tab_details)); 
     tabs.addTab(spec); 

     tabs.setCurrentTabByTag("tag1"); 
    } catch (Throwable t) { 
     // TODO Auto-generated catch block 
     Toast.makeText(this, "Exception: " + t.toString(), 50000).show(); 
    } 
} 

활동 중 하나입니다 ...

public class ResultHits extends Activity implements OnItemClickListener { 
ListView listView_titles; 
ArrayList<String> items = new ArrayList<String>(); 
String [] test = {"1", "2","3"}; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 



    listView_titles = (ListView)findViewById(R.id.list); 

    listView_titles.setAdapter(new ArrayAdapter<String> 
    (this,R.layout.row, R.id.row_text,test)); 


} 

}

활동을 확장 목록을 탭 안에 표시하면 완벽 할 것입니다. TY 사전에

BTW setcurrenttabByTag (2) .. actualy 내가 한 setCurrenttab 이전했다이 값 0, 1, 2, 3 단지의 경우에)

답변

0

포스트 코드 당신이 활동을 퍼팅에 문제가되지 않습니다 생각 모든 탭에, 이 탭의 방법을 넣어 활동의 기본 예,

당신은 내가 tabactivity를 사용하고 있지 않다 볼 수
static TabHost tabHost; 

... 
... 
... 

      tabHost = getTabHost(); // The activity TabHost 
      TabHost.TabSpec spec; // Resusable TabSpec for each tab 
      Intent intent; // Reusable Intent for each tab 
      // Create an Intent to launch an Activity for the tab (to be reused) 
      intent = new Intent().setClass(this, MainActivity.class); 
      // Initialize a TabSpec for each tab and add it to the TabHost 
      spec = tabHost.newTabSpec("MainActivity")  
      .setIndicator(null, null) 
       .setContent(intent); 
      tabHost.addTab(spec); 

      // Do the same for the other tabs 
      intent = new Intent().setClass(this, SecondActivity.class); 
      spec = tabHost.newTabSpec("SecondActivity")   
      .setIndicator(null, null)    
      tabHost.addTab(spec); 

      intent = new Intent().setClass(this, ThirdActivity.class); 
      spec = tabHost.newTabSpec("ThirdActivity") 
       .setIndicator(null, null) 
       .setContent(intent); 
      tabHost.addTab(spec); 

      intent = new Intent().setClass(this, FourthActivity.class); 
      spec = tabHost.newTabSpec("FourthActivity") 
       .setIndicator(null, null) 
       .setContent(intent); 
      tabHost.addTab(spec); 
+0

HI Jorgesys, 나는 ... .. 내 코드를 게시 한 (외관상으로 만 호출입니다 tab.setup for you ..) 그리고 여기에서는 123 TY를 미리 표시하도록 요청합니다. – HePE