第二个setcontentview布局的后退按钮

问题描述:

在我的课上,我使用了setcontentview(R.layout.main2),其中在按下按钮的某个点之后调用第二个布局main3。我不知道,如何在第二个布局上使用后退按钮以便移回到main2。我尝试使用finish();,但它让我更多地了解了布局main1。另外,我尝试再次调用布局main2,但随后我的按钮不起作用。 这可以怎么做?第二个setcontentview布局的后退按钮

编辑

public class Conn extends Activity 

public void onCreate(Bundle mSavedInstanceState) 
    { 
     super.onCreate(mSavedInstanceState); 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.main2); 
} 

findViewById(R.id.Devices).setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     setContentView(R.layout.devices); 

     if (DeviceName==(null)) 
     { 
      DeviceName="Not Connected"; 
     } 
     final TextView BDConnected = (TextView) findViewById(R.id.BDConnected); 
      BDConnected.setText("BD Device Connected :"+DeviceName); 

      WifiManager wifiManager=(WifiManager) getSystemService(Context.WIFI_SERVICE); 
     String net=wifiManager.getConnectionInfo().getSSID(); 
     //wifiManager.getConnectionInfo().getSSID(); 
      final TextView WiFiConnected = (TextView) findViewById(R.id.WiFiConnected); 
      WiFiConnected.setText("WiFi NetWork Connected :"+net); 
}}): 
} 
上的OnCreate

我打电话我主要布局(MAIN2)。当从主布局按下按钮设备时,它会在第二个布局(设备)上转发我。从那一点我怎么可以回到布局main2?

EDIT2

我使用viewswitches和合并两个布局成一个,并使用switch.previous和未来

+0

一些代码示例会很好,否则有点难以理解错误发生的位置。 – Egor 2012-02-13 20:48:49

+0

您的项目中有多少项活动? 3? “如何在第二个布局上使用后退按钮以便移回到main2”第二个布局isnt main2?请给一些代码。 – 2012-02-13 20:48:50

+0

**答案**我使用viewswitches并将两个布局合并为一个,并使用switch.previous和next – prokopis 2012-02-14 07:46:13

首先,你应该知道,在Android,这个想法是不是真的保持一个在按键上使用setContentView在不同视图之间进行活动和弹跳。一般来说(当然也有例外,但是一般为),您应该为每个屏幕显示不同的活动,以显示用户列表屏幕,详细信息屏幕等。然后,每当用户想要返回之前的屏幕,他们点击后退按钮,当前的Activity弹出堆栈,并且前一个屏幕出现。

一个真的很好的资源,对所有这一切阅读将是Android开发者参考的活动页面,located here.你特别相关的是“活动生命周期”和“启动活动,并获得结果”部分。

可以写诗这样处理后退按钮

@Override 
public void onBackPressed() { 
    Intent backPressedIntent = new Intent(); 
    backPressedIntent .setClass(getApplicationContext(), main2.class); 
    startActivity(backPressedIntent); 
    finish(); 
} 

为未来的Google逾期答复。

创建一个名为“secondViewOpened”的布尔值,默认值为“false”。然后将其更改为true:

setContentView(R.layout.secondview); 
secondViewOpened=true; 

使用您onBackPressed这样的:

@Override 
public void onBackPressed() { 
    if (secondViewOpened) 
    ... 
    else 
    ... 
} 

不要忘记,当您关闭这个观点的价值又变成假的。