6
私は、次のとおりである私は
http://www.youtube.com/watch?v=gMu8XhxUBl8
TabsActivity
内のコードを参照してください3.0、用アンドロイドアクションバー上にしようとしています
:用
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
}
}
}
しかし、チュートリアルを完了した後、私はTabSActivityのonTabSelectedメソッドで、container_idという変数が必要であることを認識しました。 API。私は行を削除しようとし、タブレットでそれを実行したが、それは私にruntimeexceptionをスローします。
誰もがこれを手伝ってくれますか?
申し訳ありませんが、質問があまりにも単純すぎる場合、私はアンドロイドプログラミングに新しいです。
ありがとうございます。
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);
}
}
UPDATE
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ホーお返事に感謝を:main.xmlでそうhttp://www.abelski.com/courses/android3ui/actionbar.pdf> _ < は次のようになります。私はどこかでIDを宣言していますか?なぜなら私はどこでそれをやっているべきか私はあまり確信していないからです。私は開発者のガイドを読んだが、まだコンセプトを理解することはできません。あなたは私がそれを働かせることができるようなものを追加すべき場所に私を導くことができればあなたは気になりますか? –
ああ、ちょっと変わったよ。私はあなたがあなたのフラグメントxmlファイルにidを入れていることを確信しています。フラグメントはここで読むことができます:http://developer.android.com/reference/android/app/Fragment.htmlしかし、それはあなたのID 。自動的に生成されたR.javaに渡され、Javaコードで使用できるようになります。まだXMLビューでアンドロイドフォームを作ってみましたか?それはそれに似ているはずです。 –
rawreth
@Jonathan Ho前にxmlレイアウトを使用しようとしましたが、今回は、正しいクラスに変更されたクラスへの参照ができないなどのエラーが発生していますが、すべてを上書きします。 –