1

私は小さな問題に遭遇しました。私はAndroid開発コース用のアプリケーションを構築しています。MainActivityと3つのフラグメントレイアウトを持つフラグメントアクティビティの2つのアクティビティがあります。 MainActivityのボタンをクリックするとコードを書くことができ、2番目のフラグメントアクティビティに移動します。これはうまくいくが、私は戻るボタンをクリックすると、主なアクティビティレイアウトに戻るのではなく、アプリケーションを閉じる。第2アクティビティは最初に戻ることはありません

MainActivity:

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); 
} 
} 

FragmentsAdapter:

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; 
} 
} 

断片自体はまだそれらのいずれかの特定のコードを持っていない、ので、ここではいくつかのコードです私はレイアウトにまだ慣れていない。私は3つのフラグメントを切り替えるためにタブ付きのアクティビティを使用していますが、MainActivity画面に戻るのではなく、なぜアプリケーションが終了するのかわかりません。

答えて

0

からstopメソッドを削除する必要があり、あなたが行ってもいいです。

0

あなたはそのコードactivity.removeあなたのランチャーを破壊させ、あなたのonStop方法にfinish()を呼び出している主な活動

関連する問題