0

Androidでタブバーアプリケーションを作成しようとしています.Googleで検索した後、チュートリアルを見つけて成功しました。3 つのタブが必要です。最初のタブをクリックすると、ayntask を使用してサーバーから一部のデータが取得され、フロントエンドに進行状況ダイアログが表示されますが、進行状況ダイアログは画面全体を (タブバーで) キャプチャしているため、できません2 番目または 3 番目のタブを切り替えます。

Expected Output: Whenever i click on any tab a data will be taken from server in background, as i know data is loaded in background so for that time i want to switch 2nd tab or any other tab. 


package com.tabexample;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;

import android.view.View;
import android.view.View.OnClickListener;

import android.view.WindowManager;
import android.widget.Button;

public class ArrowsActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.arrowspage);

        Button back = (Button) findViewById(R.id.BackButton2);



       back.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            ProgressDialog p = new ProgressDialog(getParent());
            p.setMessage("Loading");
            p.setCancelable(false);
            p.show();
            p.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

        }
    });


    }
}



package com.tabexample;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;


public class EditActivity extends ListActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setListAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, mListContent));   
        ListView lv = getListView();
        lv.setOnItemClickListener(new OnItemClickListener() 
        {
             public void onItemClick(AdapterView<?> parent, View view, int position, long id)
             {
                 startActivity(new Intent(EditActivity.this, OptionsActivity.class));
             }
        }); 


    }


    private static String[] mListContent={"Item 1", "Item 2", "Item 3"};
}



package com.tabexample;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class OptionsActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.optionspage);

        Button back = (Button) findViewById(R.id.BackButton1);
        Button next = (Button) findViewById(R.id.NextButton1);


    }
}

package com.tabexample;


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



public class TabExmapleActivity extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tablayout);
        TabHost tabHost = getTabHost();       

        tabHost.addTab(tabHost.newTabSpec("tab1")
              .setIndicator("OPT")
              .setContent(new Intent(this, ArrowsActivity.class)));

        tabHost.addTab(tabHost.newTabSpec("tab2")
              .setIndicator("EDIT")
              .setContent(new Intent(this, EditActivity.class)));

        tabHost.setCurrentTab(0);
    }
}




<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout02" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/TextView02" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="Arrows Page">
    </TextView>
    <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/BackButton2"
        android:text="Back" android:layout_below="@+id/TextView02">
    </Button>

<Button android:id="@+id/Button01" android:layout_below="@id/BackButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Indeterminate Dialog"></Button>
<Button android:id="@+id/Button02" android:layout_below="@id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Select"></Button>
</RelativeLayout>






<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout01" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/TextView01" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="Options Page">
    </TextView>
    <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/BackButton1"
        android:text="Back" android:layout_below="@+id/TextView01">
    </Button>
    <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/NextButton1"
        android:text="Next" android:layout_toRightOf="@+id/BackButton1"
        android:layout_below="@+id/TextView01"></Button>
</RelativeLayout>





<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" >
        </FrameLayout>

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true">
        </TabWidget>
    </RelativeLayout>

</TabHost>



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tabexample"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".TabExmapleActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="ArrowsActivity"></activity>
        <activity android:name="EditActivity"></activity>
        <activity android:name="OptionsActivity"></activity>
    </application>

</manifest>

4

2 に答える 2

0

正しく理解できた場合は、進行状況ダイアログがアクティブなときに、以下のアクティビティ コンポーネントにアクセスする必要があります。

このためには、非モーダル/モードレスの進行状況ダイアログを作成する必要があります。非モーダル ダイアログでは、UI コンポーネントの背後でイベントを受け入れることができます

以下の投稿を参照してください

時限モードレスダイアログ

于 2012-07-03T07:15:57.560 に答える
0

TabHost に追加する子アクティビティの Progressbar を配置するだけです。

最初に、現在のアクティビティとして設定した onCreate の最初のアクティビティの進行状況バーが表示され、次のタブをクリックすると進行状況ダイアログが表示されます

于 2012-07-03T07:09:29.743 に答える