我正在使用带有标签的片段,我在标签中使用了listfragment,我想对项目clicklistner进行另一个活动,我使用下面的代码:
Activity activity = getActivity();
Intent i = new Intent(activity, Motherboard.class);
startActivity(i);
它将进入另一项活动,但它没有显示标签栏。 我想如果有任何活动,那么tabbar仍然在前面。 请帮帮我。
答案 0 :(得分:0)
希望这可以帮助你
http://wptrafficanalyzer.in/blog/creating-navigation-tabs-using-tabhost-and-fragments-in-android/
并且为了支持所有版本,您可以使用Action bar sherlock库,该库也在该教程中提供。
答案 1 :(得分:0)
片段吃了活动的一部分。如果您移动到另一个活动并且您希望它也有片段,则必须在其中创建片段。 或者,您可以保持相同的活动,只需在不启动新活动的情况下切换片段。
答案 2 :(得分:0)
我认为您需要使用
等标签创建一个BaseActivityabstract public class BaseActivity extends FragmentActivity {
}
和所有其他活动扩展了BaseActivity
修改强>
小例子
BaseActivity.java
abstract public class BaseActivity extends Activity implements TabListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
ActionBar actionBar = getActionBar();
// add tabs to actionbar
actionBar.addTab(actionBar.newTab().setText("TAB 1")
.setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("TAB 2")
.setTabListener(this));
}
}
FirstActivity.java
public class FirstActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Toast.makeText(getApplicationContext(),
tab.getText() + " selected in FirstActivity",
Toast.LENGTH_SHORT).show();
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
SecondActivity.java
public class SecondActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Toast.makeText(getApplicationContext(),
tab.getText() + " selected in SectondActivity",
Toast.LENGTH_SHORT).show();
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
答案 3 :(得分:0)
您需要在onclick方法中添加/替换另一个片段,而不是启动另一个活动
答案 4 :(得分:0)
除非你想编写一个在从你的超类继承的所有活动中实现tab-bar的超类,否则你可以尝试用另一个片段替换你的片段。节省了大量的内存。