gpt4 book ai didi

java - 第二个 Activity 不会返回到第一个 Activity

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:04 25 4
gpt4 key购买 nike

我遇到了一个小问题。我正在为我的 Android 开发类(class)构建一个应用程序,我有两个 Activity - MainActivity 和具有三个 fragment 布局的 fragment Activity 。我设法编写了当您单击 MainActivity 中的按钮时的代码,它将带您进入第二个 fragment Activity 。这很好用,但是当我单击后退按钮时,它会关闭应用程序,而不是返回到主要 Activity 布局。这是一些代码:

主要 Activity :

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ButterKnife.bind(this);
getSecondAct();

}

public void getSecondAct(){
Button btnstart = (Button) findViewById(R.id.btnfragments);
btnstart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent1 = new Intent(MainActivity.this,
FragmentsActivity.class);
startActivity(intent1);
}
});
}

@Override
protected void onStop() {
super.onStop();
Toast.makeText(this, "Thank you for using this app! :)",
Toast.LENGTH_SHORT).show();
finish();
}
}

FragmentsActivity:

public class FragmentsActivity extends AppCompatActivity {

private FragmentsAdapter mSectionsPagerAdapter;


private ViewPager mViewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragments);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

mSectionsPagerAdapter = new FragmentsAdapter(getSupportFragmentManager());


mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);

mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));



}


@Override
public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.menu_fragments, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();


if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}

fragment 适配器:

public class FragmentsAdapter extends FragmentPagerAdapter {

public FragmentsAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int position) {
if (position == 0) { //position ide od nule!
return RollDiceFragment.newInstance();
} else if (position == 1) {
return FAEFragment.newInstance();
} else if (position == 2) {
return FateCoreFragment.newInstance();
} else {
return null;
}
}

@Override
public int getCount() {
return 3;
}
}

fragment 本身还没有任何特定的代码,因为我还没有了解布局。我正在使用选项卡式 Activity 在三个 fragment 之间切换,但我不知道为什么应用程序会关闭而不是返回到 MainActivity 屏幕。

最佳答案

您正在 onStop 方法上调用 finish(),这会破坏您的启动器 Activity。删除该代码即可开始。

关于java - 第二个 Activity 不会返回到第一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47960778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com