在我的课上,我正在使用setcontentview(R.layout.main2),其中在按下按钮后类上的一个点之后调用第二个布局main3。我不知道,如何在第二个布局上使用后退按钮以便在main2上移回。我尝试使用finish();
,但它更多地回到布局main1上。此外,我尝试再次调用布局main2,但然后我的按钮不起作用。
如何做到这一点?
修改
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和next
答案 0 :(得分:1)
首先,你应该知道在Android中,这个想法并不是真的要保持一个Activity并在按键上使用setContentView在不同的视图之间跳转。一般情况下(也就是说,有一些例外情况,但通常),您应该为每个要显示用户列表屏幕,详细屏幕等的屏幕设置不同的活动。然后每当用户想要返回上一个屏幕,他们点击后退按钮,当前活动从堆栈中弹出,并显示前一个。
真正阅读所有这些的好资源将是Android开发人员参考的活动页面,located here.与您特别相关的是“活动生命周期”和“开始活动”和获得结果“部分。
答案 1 :(得分:0)
你可以像这样写处理后退按钮
@Override
public void onBackPressed() {
Intent backPressedIntent = new Intent();
backPressedIntent .setClass(getApplicationContext(), main2.class);
startActivity(backPressedIntent );
finish();
}
答案 2 :(得分:0)
未来的googlers的迟到回复。
创建一个名为" secondViewOpened"的布尔值默认值" false"。然后将其更改为true:
setContentView(R.layout.secondview);
secondViewOpened=true;
像这样使用你的onBackPressed:
@Override
public void onBackPressed() {
if (secondViewOpened)
...
else
...
}
关闭此视图时,不要忘记再次将值更改为false。