0

ActionbarSherlock ダウンロードからのタブ ナビゲーションの例を見ています。例では、クラスごとに 1 つの要素タイプを示しています。しかし、すべての画面でタブ ナビゲーションを再利用したいと考えています。

そこで、プロジェクトに tab_navigation.xml を追加しました

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="20dip">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:text="@string/tab_navigation_content" />
    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

そして今、タブのコードをプロジェクトに追加する方法を知りたいですか? すべてのアクティビティで必ずタブを定義する必要がありますか? または、複数の場所で再利用できる定義を 1 つだけ持つ方法はありますか?

私の活動は次のようになります。

public class MainActivity extends FragmentActivity 
{   
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...
4

2 に答える 2

2

タブはアクティビティごとに定義されます。つまり、各アクティビティでタブを使用する場合は、(xml または各アクティビティのコードを介して) タブを追加する必要があります。

このような状況を処理する適切な方法は、フラグメントを使用することです。同じアクティビティと同じタブ ナビゲーションを維持しながら、さまざまなフラグメントを使用し、必要に応じてそれらを追加または削除することをお勧めします。これは、Android のベスト プラクティスに従って推奨される方法でもあります。

フラグメントを使用しないことを本当に主張する場合 (推奨されません)、タブ ナビゲーションを作成してから継承する基本アクティビティ クラスを作成できます (SherlockFragmentActivity から直接継承するのではなく)。 Androidの人たちが設計した方法でフラグメントを使い続けることをお勧めします:)

于 2013-06-04T11:43:14.897 に答える
2

フラグメントを使用する

これを見たことがありますか?

http://wptrafficanalyzer.in/blog/adding-navigation-tabs-containing-listview-to-action-bar-in-pre-honeycomb-versions-using-sherlock-library/

于 2013-06-04T11:44:20.430 に答える