我在Android应用程序中有2个活动(A和B),我使用意图从活动A到活动B.使用parent_activity:
<activity
android:name=".B"
android:label="B" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app_name.A" />
</activity>
Run Code Online (Sandbox Code Playgroud)
我还使用了一个提供UP按钮的主题.
因此,在我调用活动之后,BI可以使用UP按钮返回活动A.问题是应用程序似乎再次调用活动A 的onCreate()函数,这不是我需要的行为.我需要活动A看起来像我在调用活动B之前看起来一样.
有没有办法实现这个目标?
提前致谢
编辑:
我没有编写任何代码来从活动A开始活动B.我认为它是由eclipse自动生成的.
B类看起来像:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_b, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Actionbar和它的"向上"按钮从详细活动返回到主要活动,这很好.类似地,用户可以按下系统"后退"按钮返回主活动.
在我的主要活动中,onCreate()数据从互联网下载,以便在应用程序启动时显示.我注意到当我使用Actionbar"向上"按钮从详细信息转到主要活动时,onCreate()运行,重新下载数据.但是onCreate()当我使用系统"后退"按钮时不运行,因此立即显示主要活动视图.
我在详细活动中用来实现"向上"按钮的代码是:
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
Run Code Online (Sandbox Code Playgroud)
我希望"向上"按钮的行为类似于"后退"按钮,而不是重新运行onCreate().但我不确定如何实现这一点,或者"后退"按钮实现返回主活动的代码路径.
谢谢!
我有3个活动:1.类别列表; 2.此类新闻; 3.有关新闻的详情
看下面的图片!
我通过将第二个活动设置为android清单文件中第三个活动的父活动,实现了从第三个活动到第二个活动的后退按钮,但它无法看到在第一个活动中选择的类别,因此它不显示列表和崩溃,任何人都可以帮我实现后退按钮?
这是我要实现后退按钮的活动代码
public class Categorii_LIst_Item_Clicked extends ActionBarActivity {
static Context context;
static Bundle extras;
SectionsPagerAdapter mSectionsPagerAdapter;
static ImageLoader imageLoader;
static DisplayImageOptions options;
ViewPager mViewPager;
@Override
protected void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_categorii__list__item__clicked);
context = this;
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
extras = getIntent().getExtras();
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
//Setup the ImageLoader, we'll use this to display our images
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();
imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
//Setup options for ImageLoader so it will handle caching for …Run Code Online (Sandbox Code Playgroud)