我有Android应用程序,我从前一个活动中获取一个字符串并将其转移到下一个活动。 我用一个标签做的时候工作正常。但当我为第二个标签指定它时,应用程序崩溃
日志cat中的错误您必须指定一种创建选项卡指示符的方法。
代码已解决
package com.example.pms;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TextView;
import android.widget.TabHost.TabSpec;
public class TabControl extends TabActivity
{
public static TabControl mTabControl;
public static TextView textView;
public static TabHost tabHost ;
final Context context = this;
//public static String strEmployeeID = "";
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
Resources resources = getResources();
TabHost tabHost = getTabHost();
Bundle extras = getIntent().getExtras();
String strEmployeeID="";
TabSpec photospec = tabHost.newTabSpec("Hourly entry");
// setting Title and Icon for the Tab
photospec.setIndicator("Hourly Entry");
if (extras != null)
{
String value = extras.getString("new_variable_name");
// Toast.makeText(getBaseContext(), value, Toast.LENGTH_LONG).show();
strEmployeeID = value;
}
Intent photosIntent = new Intent(getApplicationContext(), HourlyEntry.class);
photosIntent.putExtra("new_variable_name",strEmployeeID);
photospec.setContent(photosIntent);
TabSpec photospec1 = tabHost.newTabSpec("Leave app");
// setting Title and Icon for the Tab
photospec1.setIndicator("Leave App");
if (extras != null)
{
String value = extras.getString("new_variable_name");
// Toast.makeText(getBaseContext(), value, Toast.LENGTH_LONG).show();
strEmployeeID = value;
}
Intent photosIntent1 = new Intent(getApplicationContext(), LeaveApp.class);
photosIntent1.putExtra("new_variable_name",strEmployeeID);
photospec1.setContent(photosIntent1);
tabHost.addTab(photospec);
tabHost.addTab(photospec1);
tabHost.setCurrentTab(0);
}
}
答案 0 :(得分:2)
更改此
TabSpec photospec1 = tabHost.newTabSpec("Photos");
// setting Title and Icon for the Tab
photospec.setIndicator("", getResources().getDrawable(R.drawable.tab_home));
使用
TabSpec photospec1 = tabHost.newTabSpec("Photos2");
// setting Title and Icon for the Tab
photospec1.setIndicator("", getResources().getDrawable(R.drawable.tab_home));
if (extras != null)
{
String value = extras.getString("new_variable_name");
strEmployeeID = value;
}
Intent photosIntent1 = new Intent(getApplicationContext(), LeaveApp.class);
photosIntent1.putExtra("new_variable_name",strEmployeeID);
photospec1.setContent(photosIntent1);
您的问题就在这里,您从未将Tab Indicator
设置为第二个标签正确,如下所示
photospec1.setIndicator("", getResources().getDrawable(R.drawable.tab_home));
此外,您的问题是在这里将错误set Content Intent
设置为第二个标签正确,如下所示:
Intent photosIntent1 = new Intent(getApplicationContext(), LeaveApp.class);
photosIntent1.putExtra("new_variable_name",strEmployeeID);
photospec1.setContent(photosIntent1);