[英]Fragment switching
I am new to android..nd right now i am developing an app in which i have used tabs and extended it as fragmentactivity..and each tab is a fragment.i have a certain tab in which i have a list view on which if i click i have opened a detailed view...i have added a button on detailedview..so that when user clicks on that button,a API ping is done,and on onpostexecute()the app should go to the second tab...but its not working..right now i am navigating it to..fragmentactivity i.eLIVESEEDSACTIVITY and bydefault to the firsttab....but the requirement is SECOND TAB. 我现在是android..nd的新手,我正在开发一个应用程序,其中我使用了选项卡并将其扩展为fragmentactivity ..而每个选项卡都是一个fragment.i有一个特定的选项卡,其中有一个列表视图,如果我单击我已打开详细视图...我在detailview ..上添加了一个按钮,以便当用户单击该按钮时,API ping完成,并且在onpostexecute()上,该应用程序应转到第二个选项卡。 。但它不起作用..现在我正在将其导航到.fragmentactivity即iLIVESEEDSACTIVITY,默认情况下为firsttab ....但要求是第二Tab。
DetailView : DetailView :
if(val.contains("success"))
{
Intent intent = new Intent(getApplicationContext(),LiveSeedsActivity.class);
intent.putExtra("login", val);
Log.d("srafasfddddddddddddd",String.valueOf(val));
startActivity(intent);
}else{
Toast.makeText(getApplicationContext(),"Insufficient Seeds", Toast.LENGTH_LONG).show();
}
LiveSeedActivity : LiveSeedActivity :
package com.yw.ngageapp.liveseeds;
public class LiveSeedsActivity extends FragmentActivity implements OnClickListener{
@SuppressLint({ "InlinedApi", "NewApi" }) @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.liveseeds_layout);
this.setTitle("n-gage");
btn1 = (ImageButton) findViewById(R.id.btn1);
btn1.setOnClickListener(this);
btn2 = (ImageButton) findViewById(R.id.btn2);
btn2.setOnClickListener(this);
btn3 = (ImageButton) findViewById(R.id.btn3);
btn3.setOnClickListener(this);
btn4 = (ImageButton) findViewById(R.id.btn4);
btn4.setOnClickListener(this);
btn5 = (ImageButton) findViewById(R.id.btn5);
btn5.setOnClickListener(this);
btn6 = (ImageButton) findViewById(R.id.btn6);
btn6.setOnClickListener(this);
btn7 = (ImageButton) findViewById(R.id.btn7);
btn7.setOnClickListener(this);
txt1 = (TextView) findViewById(R.id.txt1);
txt2 = (TextView) findViewById(R.id.txt2);
txt3 = (TextView) findViewById(R.id.txt3);
txt4 = (TextView) findViewById(R.id.txt4);
txt5 = (TextView) findViewById(R.id.txt5);
txt6 = (TextView) findViewById(R.id.txt6);
txt7 = (TextView) findViewById(R.id.txt7);
Intent intent = getIntent();
Log.d("Intentssssssss",String.valueOf(intent.getAction()));
mTabHost = (TabHost) findViewById(android.R.id.tabhost);
mTabHost.setup();
TabHost.OnTabChangeListener tabChangeListener = new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
Myseeds_fragment Fragment1 = (Myseeds_fragment) fm.findFragmentByTag("Myseeds");
Fragment2 = (DonatedPage) fm.findFragmentByTag("Donated");
CausesPage Fragment3 = (CausesPage) fm.findFragmentByTag("Causes");
FragementTab2 Fragment4 = (FragementTab2) fm.findFragmentByTag("Earn");
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
if(Fragment1!=null)
ft.detach(Fragment1);
if(Fragment2!=null)
ft.detach(Fragment2);
if(Fragment3!=null)
ft.detach(Fragment3);
if(Fragment4!=null)
ft.detach(Fragment4);
if(tabId.equalsIgnoreCase("Myseeds")){
if(Fragment1==null){
ft.add(android.R.id.tabcontent,new Myseeds_fragment(), "Myseeds");
}else{
ft.attach(Fragment1);
}
}
else if(tabId.equalsIgnoreCase("Donated")){
/** If current tab is apple */
Log.v("exhibitors","apple intabselect");
if(Fragment2==null){
ft.add(android.R.id.tabcontent,new DonatedPage(), "Donated");
}else{
/** Bring to the front, if already exists in the fragmenttransaction */
ft.attach(Fragment2);
}
}
else if(tabId.equalsIgnoreCase("Causes")){
/** If current tab is apple */
Log.v("exhibitors","apple intabselect");
if(Fragment3==null){
ft.add(android.R.id.tabcontent,new CausesPage(), "Causes");
}else{
ft.attach(Fragment3);
}
}
else if(tabId.equalsIgnoreCase("Earn")){
/** If current tab is apple */
Log.v("exhibitors","apple intabselect");
if(Fragment4==null){
ft.add(android.R.id.tabcontent,new FragementTab2(), "Earn");
}else{
ft.attach(Fragment4);
}
}
ft.commit();
}
};
Log.v("exhibitors","in5");
mTabHost.setOnTabChangedListener(tabChangeListener);
View tabview = createTabView(context,"My Seeds");
View tabview1 = createTabView(context,"Donated");
View tabview2 = createTabView(context,"Causes");
View tabview3 = createTabView(context,"Earn");
TabHost.TabSpec tSpecAndroid = mTabHost.newTabSpec("Myseeds");
tSpecAndroid.setIndicator(tabview);
tSpecAndroid.setContent(new DummyTabContent(getBaseContext()));
mTabHost.addTab(tSpecAndroid);
/** Defining tab builder for Apple tab */
TabHost.TabSpec tSpecApple = mTabHost.newTabSpec("Donated");
tSpecApple.setIndicator(tabview1);
tSpecApple.setContent(new DummyTabContent(getBaseContext()));
mTabHost.addTab(tSpecApple);
/** Defining tab builder for Apple tab */
TabHost.TabSpec tSpecbycategory = mTabHost.newTabSpec("Causes");
tSpecbycategory.setIndicator(tabview2);
tSpecbycategory.setContent(new DummyTabContent(getBaseContext()));
mTabHost.addTab(tSpecbycategory);
TabHost.TabSpec tSpecblink = mTabHost.newTabSpec("Earn");
tSpecblink.setIndicator(tabview3);
tSpecblink.setContent(new DummyTabContent(getBaseContext()));
mTabHost.addTab(tSpecblink);
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
if(view.getId()==R.id.btn2){
Intent intent = new Intent(LiveSeedsActivity.this,
GoActivity.class);
startActivity(intent);
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if ((display.getRotation() == Surface.ROTATION_0) ||
(display.getRotation() == Surface.ROTATION_180)) {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}else if(view.getId()==R.id.btn3){
Intent intent = new Intent(LiveSeedsActivity.this,
KnowFragment.class);
startActivity(intent);
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if ((display.getRotation() == Surface.ROTATION_0) ||
(display.getRotation() == Surface.ROTATION_180)) {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}else if(view.getId()==R.id.btn4){
Intent intent = new Intent(LiveSeedsActivity.this,
MessageActivity.class);
startActivity(intent);
// btn4.setBackgroundColor(0xff00ff00);
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if ((display.getRotation() == Surface.ROTATION_0) ||
(display.getRotation() == Surface.ROTATION_180)) {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}else if(view.getId()==R.id.btn5){
// Intent intent = new Intent(OptionsActivity.this,
// OptionsActivity.class);
// startActivity(intent);
// Display display = ((WindowManager)
// getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
// if ((display.getRotation() == Surface.ROTATION_0) ||
// (display.getRotation() == Surface.ROTATION_180)) {
// overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
// }
}else if(view.getId()==R.id.btn6){
Intent intent = new Intent(LiveSeedsActivity.this,
FriendsActivity.class);
startActivity(intent);
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if ((display.getRotation() == Surface.ROTATION_0) ||
(display.getRotation() == Surface.ROTATION_180)) {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}else if(view.getId()==R.id.btn7){
Intent intent = new Intent(LiveSeedsActivity.this,
OptionsActivity.class);
startActivity(intent);
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if ((display.getRotation() == Surface.ROTATION_0) ||
(display.getRotation() == Surface.ROTATION_180)) {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}
}
private static View createTabView(final Context context, final String text) {
View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
tv.setText(text);
return view;
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if ((display.getRotation() == Surface.ROTATION_0) ||
(display.getRotation() == Surface.ROTATION_180)) {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
}
}
use getActionBar().setSelectedNavigationItem(2); 使用getActionBar()。setSelectedNavigationItem(2); send the tab index ex 2 used here back to the activity containing your fragments. 将此处使用的标签索引ex 2发送回包含您的片段的活动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.