繁体   English   中英

滚动上一个屏幕后如何获取上一个活动

[英]how to get previous activity after scrolling last screen

在滚动上一个screen之后如何获取上一个活动。在以下代码中,我像上一个屏幕那样编写了调用先前调用的活动的意图,但是它刷新了其中的所有数据并将其中的所有字段都调用为null并调用了我想要的就像在调用它之前那样调用。当我在底部按backpress时,可以获取上一个活动,但是当我调用活动时,它会得到空值。

                protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.learnmore);

    realViewSwitcher=(com.RealViewSwitcher)findViewById(R.id.realviewswitcher);

    mainlayout=(RelativeLayout)findViewById(R.id.mainlayout);
    final int[] backgrounds = { R.drawable.braven_1_bankpercentage,R.drawable.braven_2_outputs,
            R.drawable.braven_3_findme,R.drawable.braven_4_sos,R.drawable.braven_5_bearmode};
    for (int i = 0; i < 6; i++) {
        TextView textView = new TextView(getApplicationContext());
        textView.setGravity(Gravity.CENTER);
        try{
        textView.setBackgroundResource(backgrounds[i]);
        }

        catch(Exception e){
            e.printStackTrace();
        }


        realViewSwitcher.addView(textView);
    }

    realViewSwitcher.setOnScreenSwitchListener(onScreenSwitchListener);

}



private final RealViewSwitcher.OnScreenSwitchListener onScreenSwitchListener = new RealViewSwitcher.OnScreenSwitchListener() {

    @Override
    public void onScreenSwitched(int screen) {
        if(screen==5)
        {
            Intent intent=new Intent(LearnMore.this,DeviceControlActivity.class);
            startActivityForResult(intent, 0);
        }
        Log.d("RealViewSwitcher", "switched to screen: " + screen);
    }

};

您将使用startActivityForResult重新开始上一个活动,这就是为什么要刷新上一个活动的数据的原因,因此,您不必在此活动上调用Activity.finish() ,而不是再次调用它,以便它将使用旧数据打开您的上一个活动。

您的上一个活动将在您开始当前活动时添加到堆栈中,因此,当您调用当前活动的完成时,操作系统将终止该活动并从堆栈中弹出上一个活动并保留其视图。 但是在这里,当您调用startActivityForResult ,它将重新启动活动并将当前活动推入堆栈

只需更换

      Intent intent=new Intent(LearnMore.this,DeviceControlActivity.class);
      startActivityForResult(intent, 0);

finish()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM