Je suis en train sur la barre d'action android 3.0, où je me réfère àAndroid Tab Barre d'action
http://www.youtube.com/watch?v=gMu8XhxUBl8
Le code dans le TabsActivity
sont les suivantes:
package com.test.actionbar;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
public class TabsActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tabA = bar.newTab().setText("A Tab");
ActionBar.Tab tabB = bar.newTab().setText("B Tab");
ActionBar.Tab tabC = bar.newTab().setText("C Tab");
Fragment fragmentA = new AFragmentTab();
Fragment fragmentB = new BFragmentTab();
Fragment fragmentC = new CFragmentTab();
tabA.setTabListener(new MyTabsListener(fragmentA));
tabB.setTabListener(new MyTabsListener(fragmentB));
tabC.setTabListener(new MyTabsListener(fragmentC));
bar.addTab(tabA);
bar.addTab(tabB);
bar.addTab(tabC);
}
protected class MyTabsListener implements ActionBar.TabListener {
private Fragment fragment;
public MyTabsListener(Fragment fragment) {
this.fragment = fragment;
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.add(R.id.fragment_container, fragment, null);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
}
pour une tutoriel étape par étape, cependant, après avoir terminé le tutoriel, j'ai réalisé que dans la TabsActivity, dans la méthode onTabSelected, il faudra une variable qui est le container_id, dont je ne sais pas trop comment puis-je fournir cela même après avoir regardé le api. J'ai essayé d'enlever la ligne et l'ai courue sur la tablette mais elle me jette une exception d'exécution.
Quelqu'un peut-il m'aider avec ceci?
Désolé, je suis nouveau à la programmation Android, si la question semble trop simple.
Merci d'avance.
EDIT
import android.app.ActionBar;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
public class ActionBarTabs extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tabA = bar.newTab().setText("A Tab");
ActionBar.Tab tabB = bar.newTab().setText("B Tab");
ActionBar.Tab tabC = bar.newTab().setText("C Tab");
bar.addTab(tabA);
bar.addTab(tabB);
bar.addTab(tabC);
}
}
MISE À JOUR
package com.debug.actionbartabs;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
public class TabsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tabA = bar.newTab().setText("A Tab");
bar.addTab(tabA);
}
}
@Jonathon Ho merci pour votre réponse. suis-je supposé déclarer l'id quelque part? parce que je ne suis pas trop sûr où devrais-je le faire. J'ai lu le guide du développeur, mais je n'arrive toujours pas à comprendre le concept. cela vous dérange si vous pouvez me guider à où je devrais ajouter des choses telles que je peux l'avoir travailler? –
Oh, je l'ai édité en ce moment, oups. Je suis sûr que vous mettez l'ID dans votre fichier fragment xml. Les fragments peuvent être lus ici: http://developer.android.com/reference/android/app/Fragment.html Mais ouais, c'est dans le quel que soit le nom de votre identifiant . Il est transmis au R.java généré automatiquement afin que vous puissiez l'utiliser dans votre code Java. Avez-vous déjà essayé de créer des formulaires Android avec des vues XML? Cela devrait ressembler à ça. –
rawreth
@Jonathan Ho J'ai essayé d'utiliser la mise en page xml avant, mais cette fois-ci, il continue d'obtenir des erreurs comme ne peut pas faire référence à la classe, que j'ai changé, mais il est écrasé. –