0

リストビューとタブアクティビティを連携させるのに苦労しています。これら2つを1つのactivity.xmlファイルで一緒に動作させる正しい方法を誰かが教えてくれますか?

以下のようなレイアウト

________________________________________
|  _____    _____    _____    _____    |
| | btn |  | btn |  | btn |  | btn |   |
| |_____|  |_____|  |_____|  |_____|   |
|______________________________________|
|              |                       |
|              |                       |
|              |                       |
|    list      |     tab contents      |
|              |                       |
|    view      |                       |
|              |                       |
|   contents   |                       |
|              |                       |
|    here      |                       |
|              |                       |
|              |                       |
|              |                       |
|              |                       |
|              |                       |
|              |                       |
|              |                       |
|              |                       |
|              |                       |
|______________|_______________________|
|  ____  ____  |      |       |        |
| |NXT ||PRV | | TAB1 | TAB2  | TAB3   |
| |____||____| |      |       |        |
|______________|______|_______|________|

レイアウトコード:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg"
    android:orientation="vertical" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="125dp"
    android:layout_marginTop="100dp" >

    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_marginTop="310dp" >

                 </TabWidget>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true" >

            </FrameLayout>


        </RelativeLayout>
    </TabHost>


</RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="left"
        android:layout_marginRight="203dp"
        android:layout_marginTop="100dp"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="50dp" >

            <TextView
                android:id="@android:id/textview_peoples"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

            </TextView>

        </LinearLayout>

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_weight="1"
            android:maxWidth="70dp"
            android:minHeight="60dp"
            android:minWidth="55dp"
            android:text="Prev"
            android:textSize="13sp" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toRightOf="@+id/button1"
            android:layout_weight="1"
            android:maxWidth="70dp"
            android:minHeight="60dp"
            android:minWidth="55dp"
            android:text="Next"
            android:textSize="13sp" />

    </RelativeLayout>

    <Button
        android:id="@+id/btn_category_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Back" />

    <Button
        android:id="@+id/btn_category_search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn_category_back"
        android:text="Search" />

    <Button
        android:id="@+id/btn_category_ts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn_category_search"
        android:text="TS" />

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btn_category_ts"
        android:text="Button" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentEnd="true"
        android:layout_marginBottom="360dp"
        android:layout_marginTop="50dp"
        android:orientation="vertical"
        android:textAlignment="center"
        android:layout_gravity="center" >

        <TextView
            android:id="@+id/textView_ppp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="9dp"
            android:background="@color/greyish"
            android:text="PPP"
            android:textAlignment="center"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </LinearLayout>

</RelativeLayout>

私は androidituts からさまざまな例を試してみましたが、いくつかはここにリストされていますが、それらを一緒に動作させることはできません。内容を表示するには両方が必要です。クラスファイルを変更してリストビューの内容を表示するか、タブビューを表示するように変更すると、それらを独立して動作させることができます。

以下でタブビューに使用しているクラスコード

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;



public class subCategories_peoples extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.category_peoples);


        TabHost tabHost = getTabHost();

        // Tab for Config
        TabSpec personspec = tabHost.newTabSpec("Person");
        personspec.setIndicator("Person");
        Intent personIntent = new Intent(this, Category_personActivity.class);
        personspec.setContent(personIntent);

        // Tab for Family
        TabSpec familyspec = tabHost.newTabSpec("Family");
        // setting Title and Icon for the Tab
        familyspec.setIndicator("Family");
        Intent familyIntent = new Intent(this, Category_familyActivity.class);
        familyspec.setContent(familyIntent);

        // Tab for History
        TabSpec historyspec = tabHost.newTabSpec("History");
        historyspec.setIndicator("History");
        Intent historyIntent = new Intent(this, Category_historyActivity.class);
        historyspec.setContent(historyIntent);


        // Adding all TabSpec to TabHost
        tabHost.addTab(peoplespec); // Adding person tab
        tabHost.addTab(familyspec); // Adding family tab
        tabHost.addTab(historyspec); // Adding history tab


    }

}

リストビューに使用しているクラスコード:

import android.os.Bundle;

import android.app.ListActivity;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

public class SavedSearches extends ListActivity
{

// defining array to store string resources
String[] various_peoples;

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

// storing string resources into Array
various_peoples = getResources().getStringArray(R.array.various_people);

// Binding resources Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>
(this,R.layout.category_peoples, R.id.textview_peoples,various_peoples));
}
}

上記のすべてをロードするアクティビティのクラス コードは次のとおりです。

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class subCategories extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.btn_subcategories);

        Button btn_SubCategories_PPP = (Button) findViewById(R.id.btn_SubCategories_PPP);
        btn_SubCategories_PPP.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    Intent intent = new Intent(v.getContext(), subCategories_peoples.class);
                    startActivityForResult(intent, 1);
                }
                    })

                    ;

                }

}

最終的には、リストビューとタブビューの両方を連携させる必要があります。リストビューとは異なるものを選択すると、新しいタブコンテンツのセットが読み込まれますが、自分で作業/試行します。

前もって感謝します、

4

0 に答える 0