#java #android #android-intent #android-fragments
#java #Android #android-намерение #android-фрагменты
Вопрос:
Я новичок в Android .. и прямо сейчас я разрабатываю приложение, в котором я использовал вкладки и расширил его как fragmentactivity .. и каждая вкладка является фрагментом. у меня есть определенная вкладка, в которой у меня есть список, на котором, если я нажму, я открою подробный просмотр … я добавилкнопка на detailedview..so что, когда пользователь нажимает на эту кнопку, выполняется пинг API, и при onpostexecute() приложение должно перейти на вторую вкладку … но оно не работает .. прямо сейчас я перехожу к ..fragmentactivity i.eLIVESEEDSACTIVITY и по умолчанию к первой вкладке ….но требование — ВТОРАЯ ВКЛАДКА.
Просмотр деталей:
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:
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);
}
}
}
Комментарии:
1. Отформатируйте свой код. Слишком ленив, чтобы это сделать.
2. извините за это … я новичок в этом форуме
Ответ №1:
используйте getActionBar().setSelectedNavigationItem(2); отправьте индекс вкладки ex 2, используемый здесь, обратно в действие, содержащее ваши фрагменты.
Комментарии:
1. где я должен добавить этот код .. поскольку я не привык к фрагментам.