回到片段从活动
我有以下活动代码: -回到片段从活动
public class legislator_info extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_legislator_info);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Legislator Info");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent i = getIntent();
String bioguide = i.getExtras().getString("Person");
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// click on 'up' button in the action bar, handle it here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
所以基本上我有有它显示的列表视图中的片段。点击列表项目我开始这个活动,我想回到上一个片段点击后退按钮。我尝试了上面的代码,但我无法返回。我很欣赏这个新的任何帮助。
我已经加入我的下列方式片段: -
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
LegislatorFragment lf = new LegislatorFragment();
ft.replace(R.id.fragment_container,lf);
ft.addToBackStack(null);
ft.commit();
我还搞不清楚你想达到什么,但你可以试试这个
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
编辑:
case android.R.id.home:
//call onBackPressed here
onBackPressed();
return true;
我只想回到片段我来自...在我以前的片段:-yourListView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView > parent,View (Person)yourListView.getItemAtPosition(position); Intent intent = new Intent(ByState.this.getActivity(),legislator_info.class); intent.putExtra(“Person “,obj.getBioguide()); startActivity(intent); } }); –
以上代码也不起作用 –
是的它的工作,但我不能接受的答案,因为我的声誉...非常感谢:) –
您必须重写onOptionsItemSelected,因为您正在尝试使用操作栏的后退按钮。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
然后覆盖BackPressed -
@Override
public void onBackPressed()
{
FragmentManager fm = getSupportFragmentManager();
if (fm.getBackStackEntryCount() > 0) {
fm.popBackStack();
}
else {
super.onBackPressed();
}
}
后的你的全码 –
完整的代码?我发布了活动 –
的完整代码,您是否管理过压缩? –