2010-07-30 1 views
0

У меня очень тяжелое время для того, чтобы поместить мои действия в закладки. У меня есть активность, которая анализирует XML-файл и помещает их в список, и он отлично работает сам по себе. Когда я вызываю его на вкладке, но это не работает (я получаю страшный «Извините! Бла-бла .. неожиданно остановился» ... BTW да, я сделал манифест).Если вкладки и действия не идут вместе. Есть ли способ обмануть?

Я перенес работу, чтобы работать как один вид деятельности, вуаля! это сработало!!! Однако это не так, как мы хотели пойти с этим проектом - МЫ ДЕЙСТВИТЕЛЬНО НУЖНЫ иметь отдельные действия.

Так как многие люди узнали, что вкладки и действия не работают хорошо вместе, есть ли способ обойти это? Может быть, какой-то эмульгатор?

Вот код:

импорт android.app.Activity; импорт android.content.Intent; import android.os.Bundle; import android.widget.TabHost; import android.widget.Toast;

общественный класс TabDemo расширяет активность {

/** 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)); 


} 

}

Я опущена XML-парсинга часть ... если это основное список можно отобразить внутри вкладки, тогда он будет идеальным. TY заранее

BTW setcurrenttabByTag был ранее setCurrenttab (2) .. actualy я сделал эти значения 0,1, 2, 3 на всякий случай;)

ответ

0

Разместите код, который я думаю, что у вас не будет проблем с установкой деятельности в каждой вкладке, Это основной пример того, как положить деятельности в закладках,

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, я разместил мой код .. как вы можете видеть, я не использую tabactivity ... (очевидно, что только звонки tab.setup для вас ..), и здесь я просто позвоню, чтобы показать 123 TY заранее – HePE

Смежные вопросы