私はログインからログインページを持っています。ユーザーがログインボタンをクリックすると、タブアクティビティーに移動します。タブアクティビティでは、4つのタブがあります:ホーム、在庫などtabactivityから、ネストされたアクティビティのアクティビティグループを呼び出しています。活動のグループから、私は就労活動を呼び出しています。家から私はタブバーをロードし、Webサービスを呼び出して値を解析し、ホームタブでホームアクティビティをロードしています。時間がかかる。黒い画面を避けるには?誰かが例を挙げることはできますか?私はたくさん試しましたが、うまくいきません。誰かが知っているなら、コードを書いてください。 2番目のアクティビティでは、タブバーをロードしてWebサービスを呼び出すまでロードしています。私はいくつかのスプラッシュ画面を表示する必要があります。黒い画面が1つのアクティビティから別のアクティビティに数分移動するのを表示します
doInBackground
メソッドでタブバーを追加していますが、それは正しいですか?
import java.util.ArrayList;
//import com.inquest.LoginActivity.FetchTask;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.app.TabActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Gravity;
import android.view.Window;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TabHost;
import android.widget.TabWidget;
import android.widget.TextView;
import android.widget.TabHost.TabSpec;
//TabActivity
public class HelloTabWidget extends TabActivity
{
int width =40;
int height =49;
//private TabHost tabHost;
TextView txthome;
TextView txtstock;
TextView txtcitn;
TextView txtmyquest;
Button btn;
//private ProgressDialog pd = null;
private ProgressDialog dlg;
private Object data = null;
String strusername="";
String strPassWord="";
String questGroupId="";
String userid="";
String systemuserid="";
String providerid="";
private ProgressDialog dialog;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
setContentView(R.layout.tab);
new TabTask(HelloTabWidget.this).execute(null);
//}
}
public class TabTask extends AsyncTask<Void, Void,Void>
{
private ProgressDialog dlg;
private Context ctx;
public TabTask(Context context) {
ctx = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
dlg = new ProgressDialog(HelloTabWidget.this);
dlg.setMessage("Loading....");
dlg.show();
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
try
{
TabHost.TabSpec spec;
TabHost tabHost=getTabHost();
TabWidget tabWidget = tabHost.getTabWidget();
Resources res = getResources();
Typeface myTypeface = Typeface.createFromAsset(ctx.getAssets(),"verdanab.TTF");
Typeface myTypeface1 = Typeface.createFromAsset(ctx.getAssets(),"verdana.TTF");
Intent homeintent;
// Create an Intent to launch an Activity for the tab (to be reused)
homeintent = new Intent();
Bundle bundle=getIntent().getExtras();
String strusername=bundle.get("strUserName").toString();
String strPassWord=bundle.get("strPassword").toString();
String questGroupId=bundle.get("questGroupId").toString();
String userid=bundle.get("userid").toString();
String systemuserid=bundle.get("systemuserid").toString();
String providerid=bundle.get("providerid").toString();
Log.d("home activity username", strusername);
Log.d("home activity password", strPassWord);
Log.d("home activityquestGroupId",questGroupId);
homeintent.setClass(ctx, HomeActivityGroup.class);
homeintent.putExtra("strUserName", strusername);
homeintent.putExtra("strPassWord",strPassWord);
homeintent.putExtra("questGroupId",questGroupId);
homeintent.putExtra("userid",userid);
homeintent.putExtra("systemuserid", systemuserid);
homeintent.putExtra("checking", "one");
spec = tabHost.newTabSpec("home").setIndicator("Home",res.getDrawable(R.drawable.home_tab_bar_icon)).setContent(homeintent);
tabHost.addTab(spec);
//homeintent = new Intent().setClass(this,ThemeSearchActivity.class);
homeintent = new Intent().setClass(ctx,StockActivity.class);
homeintent.putExtra("strUserName", strusername);
homeintent.putExtra("strPassWord",strPassWord);
homeintent.putExtra("questGroupId",questGroupId);
homeintent.putExtra("userid",userid);
homeintent.putExtra("systemuserid", systemuserid);
homeintent.putExtra("providerid", providerid);
spec = tabHost.newTabSpec("stock").setIndicator("Stock",res.getDrawable(R.drawable.stocks_tab_bar_icon)).setContent(homeintent);
tabHost.addTab(spec);
homeintent = new Intent().setClass(ctx,ArticleActivity.class);
spec = tabHost.newTabSpec("citn").setIndicator("CITN",res.getDrawable(R.drawable.citn_tabbar_icon)).setContent(homeintent);
tabHost.addTab(spec);
homeintent = new Intent().setClass(ctx, MyCompaniesActivity.class);
spec = tabHost.newTabSpec("myquest").setIndicator("My Quest",res.getDrawable(R.drawable.quest_tab_bar_icon)).setContent(homeintent);
tabHost.addTab(spec);
for (int i =0; i < tabWidget.getChildCount(); i++) {
//tabWidget.getChildAt(i).setBackgroundColor(R.color.black);
tabWidget.getChildAt(i).getLayoutParams().height = height;
tabWidget.getChildAt(i).getLayoutParams().width = width;
RelativeLayout relLayout = (RelativeLayout)tabWidget.getChildAt(i);
TextView tv = (TextView)relLayout.getChildAt(1);
tv.setTextSize(10.0f);
//tv.setCompoundDrawablesWithIntrinsicBounds(0, 1, 0, 0);
tv.setTypeface(myTypeface1);
}
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
}
}
あなたは別のスレッドでWebサービスを呼び出し、進行状況バーを使用して黒い画面を避けることができます。 –
例を与えることができます – mohan