如何用tab传递参数?

时间:2013-01-24 07:04:44

标签: android

我很困惑,请告诉我如何使用此标签主机传递参数。我想在第一个和第二个选项卡中传递参数。这是我的代码:

public class TabBarActivity_BalanceInquiry extends TabActivity {
/** Called when the activity is first created. */
public static String varbalMessageType;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main2);
    setTabs() ;     
    varbalMessageType = getIntent().getExtras().getString("mno");
}


private void setTabs(){

    addTab("payments", R.drawable.tab_home, AgAppAskPinForTransaction.class);
    addTab("My Account", R.drawable.tab_home, AgAppMyAccountScreen.class);      
    addTab("Spend Analyzer", R.drawable.tab_home, AgAppPaymentScreen.class);
    addTab("Notification", R.drawable.tab_home, AgAppPaymentScreen.class);
    addTab("Help", R.drawable.tab_home, AgAppPaymentScreen.class);
}



private void addTab(String labelId, int drawableId, Class<?> c)
{
    TabHost tabHost = getTabHost();

    Intent intent = new Intent(this, c);
    TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId); 

    View tabIndicator =    
    LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
    TextView title = (TextView) tabIndicator.findViewById(R.id.title);
    title.setText(labelId);
    ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
    icon.setImageResource(drawableId);

    spec.setIndicator(tabIndicator);
    spec.setContent(intent);
    tabHost.addTab(spec);

  }
}

1 个答案:

答案 0 :(得分:1)

标签0

getParent().getIntent().putExtra("key", "value");

标签1

String value = getParent().getIntent().getStringExtra("key");

您可以像这样调用自己的标签活动

Intent theIntent = new Intent(this, TabActivity.class); 
theIntent.putExtra("targetTab", 3);
startActivity(theIntent);

并传递数据或参数,您可以创建单例java类,并将数据传递给您想要的活动。