Java 如何在我的活动本身中使用底部选项卡活动
我想在我的活动中使用底部选项卡,在我的旧活动本身中有一些功能,没有使用单独的活动作为选项卡,我可以在我的活动本身中使用选项卡功能吗,我这样尝试过Java 如何在我的活动本身中使用底部选项卡活动,java,android,tabs,Java,Android,Tabs,我想在我的活动中使用底部选项卡,在我的旧活动本身中有一些功能,没有使用单独的活动作为选项卡,我可以在我的活动本身中使用选项卡功能吗,我这样尝试过 public class GinfyActivity extends Activity { /** Called when the activity is first created. */ public GridviewAdapter mAdapter; private Spinner spinner1; pub
public class GinfyActivity extends Activity {
/** Called when the activity is first created. */
public GridviewAdapter mAdapter;
private Spinner spinner1;
public String selectprayer;
ArrayList<GridviewAdapter> results = new ArrayList<GridviewAdapter>();
private ArrayList<String> listginfy;
private ArrayList<Integer> listimage;
private GridView gridView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_ginfy);
TabHost mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1").setContent(new Intent(GinfyActivity.this,Audioprayer.class)));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(new Intent(GinfyActivity.this,TTSMeditation.class)));
mTabHost.addTab(mTabHost.newTabSpec("tab_test3").setIndicator("TAB 3").setContent(new Intent(GinfyActivity.this,TTSList.class)));
mTabHost.setCurrentTab(0);
addListenerOnButton();
addListenerOnSpinnerItemSelection();
prepareList();
// prepared arraylist and passed it to the Adapter class
mAdapter = new GridviewAdapter(this,listginfy, listimage);
// Set custom adapter to gridview
gridView = (GridView) findViewById(R.id.gridView1);
gridView.setAdapter(mAdapter);
// Implement On Item click listener
gridView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
if (selectprayer.equals("www.ginfy.com"))
{
switch(position)
{
case 0:
Intent newActivity = new Intent(GinfyActivity.this,MainActivity.class);
startActivity(newActivity);
break;
case 2:
Intent new1Activity = new Intent(GinfyActivity.this,AndroidTabLayoutActivity.class);
startActivity(new1Activity);
break;
default:
Toast.makeText(GinfyActivity.this, "Coming Soon", Toast.LENGTH_LONG).show();
}
}
else
{
switch(position)
{
case 0:
Intent new2Activity = new Intent(GinfyActivity.this,YourPrayerActivity.class);
startActivity(new2Activity);
break;
case 1:
Intent new3Activity = new Intent(GinfyActivity.this,AndroidTabLayoutActivity1.class);
startActivity(new3Activity);
break;
case 3:
Intent new4Activity = new Intent(GinfyActivity.this,ExperiencesActivity.class);
startActivity(new4Activity);
break;
default:
Toast.makeText(GinfyActivity.this, "Coming Soon", Toast.LENGTH_LONG).show();
}
}
}
});
}
public void addListenerOnSpinnerItemSelection() {
{
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
spinner1.setSelection(position);
//spinnerCapital.setSelection(position);
selectprayer = (String) spinner1.getSelectedItem();
//Toast.makeText(getBaseContext(), selectprayer, Toast.LENGTH_SHORT).show();
//String myStatesCapital = (String) spinnerCapital.getSelectedItem();
//tvCapital.setText("My State is " + myState + ".And its Capital is "
//+ myStatesCapital);
}
public void onNothingSelected(AdapterView<?> parent) {
}});
}
}
public void addListenerOnButton() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
}
public void prepareList()
{
listginfy = new ArrayList<String>();
listginfy.add("Prayers");
listginfy.add("Prayer room");
listginfy.add("God gallery");
listginfy.add("Experiences");
listimage = new ArrayList<Integer>();
listimage.add(R.drawable.ginfyprayer);
listimage.add(R.drawable.poojaroom1);
listimage.add(R.drawable.godsgallery);
listimage.add(R.drawable.temp1);
}
}
更换这两条线路
public class GinfyActivity extends Activity
TabHost mTabHost = (TabHost)findViewById(android.R.id.tabhost);
有以下几点
public class GinfyActivity extends TabActivity
TabHost mTabHost = getTabHost();
编辑
更改要在下一行中显示的活动
Intent intentAndroid = new Intent().setClass(this, Your_Activity.class);
如果您只需要Tab
,那么最好使用ActionBar
,因为TabHost已被弃用
虎斑蝶
要使用ActionBar
,这里是示例代码(使用Sherlock或appcompat库来处理对于您的完整要求,不确定您试图实现的目标。。。但我猜这个错误和它无关:你在44行有一个NPE,检查这行。(例如,is gridView=(gridView)findViewById(R.id.gridView1);是否实际找到了gridView1 id?如果要查看哪一行是第44^^^@Guian行,这将非常有帮助。我只想显示选项卡,因为这两个活动是混合的,我只想单独显示选项卡,因为我必须创建getTabHost()方法);您是否已将
活动
替换为选项卡活动
?伙计,它工作正常,但我不想显示那些活动我只想显示选项卡而不是活动,因为它与活动重叠我不想显示活动,我只想显示选项卡,因为它们彼此重叠,同时单击tab单独它必须转到活动请参考我答案中提供的链接。
Intent intentAndroid = new Intent().setClass(this, Your_Activity.class);
public class MainActivity extends Activity implements TabListener {
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar=getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.addTab(actionBar.newTab().setText("TAB 1").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("TAB 2").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("TAB 3").setTabListener(this));
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
switch (tab.getPosition()) {
case 0:
//start activity here or toast
Toast.makeText(getApplicationContext(), "Start First Activity", Toast.LENGTH_SHORT).show();
break;
case 1:
//start activity here or toast
Toast.makeText(getApplicationContext(), "Start Second Activity", Toast.LENGTH_SHORT).show();
break;
case 2:
//start activity here or toast
Toast.makeText(getApplicationContext(), "Start Third Activity", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}