0

我一直在开发一个Android App,在将手机水平放置时遇到了一个小问题。

目前我有两个视图:主要视图(main.xml)和登录视图(login.xml)。当我在 login.xml 视图中转动手机时,它会返回到 main.xml 视图。如果手机处于水平位置 + login.xml 并且我再次转动它(回到 main.xml),也会发生同样的事情。

它看到每次都执行“OnCreate”,这是应用程序的代码:

    public class AppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ImageButton bout= null;
    bout = (ImageButton)findViewById(R.id.imageButton1);

    bout.setOnClickListener(boutlisten);

}

private OnClickListener boutlisten = new OnClickListener(){
        public void onClick(View v) {
            setContentView(R.layout.login);


        }
    };
    }

提前致谢!

4

2 回答 2

1

创建具有setContentView(R.layout.login);并启动 Activity 的新 Activity。

喜欢,

   public class LoginActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);

}

}

附录:这是启动上面声明的活动的代码。还应该在清单文件中声明活动

     private OnClickListener boutlisten = new OnClickListener(){
        public void onClick(View v) {
            Intent myIntent = new Intent(v.getContext(), LoginActivity.class);
            startActivity(myIntent);


        }
    };
于 2012-07-13T12:58:23.583 回答
0

此外,你必须已经知道......不要忘记在你的 AndroidManifest.xml 中声明新活动

<activity android:name=".LoginActivity" />

或者,您也可以强制您的活动仅垂直运行。只需将此添加到 AndroidManifest.xml 中的 Main 活动标记

<activity android:screenOrientation="portrait" ...../>
于 2012-07-13T13:11:24.167 回答