如何使两个不同的活动使用相同的Android布局

时间:2014-05-24 08:19:01

标签: android layout popupmenu

下面的代码工作正常,但它会打开一个新的布局并显示toast消息。但我希望它能展示吐司和当前布局上的弹出菜单。我正在开发弹出菜单项目,我想在同一个布局上显示弹出菜单。在此先感谢。

MainMactivity.java

package com.example.twoact;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

Button b1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    b1 = (Button) findViewById(R.id.button1);

    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent openpopactivity = new Intent(MainActivity.this,
                    MainActivity2.class);
            startActivity(openpopactivity);
        }
    });
}
}

MainActivity2.java

package com.example.twoact;
import android.widget.Toast;
import android.os.Bundle;
import android.os.Handler;

public class MainActivity2 extends MainActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    new Handler().postDelayed(new Runnable() {
        public void run() {
            Toast.makeText(getApplicationContext(), "ya am in",
                    Toast.LENGTH_SHORT).show();
        }
    }, 1000);
}

}

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.twoact.MainActivity"
tools:ignore="MergeRootFrame" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="142dp"
    android:text="Button" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

您可以使用弹出菜单和弹出窗口。在此,您可以使用自定义布局,以便在同一活动中将视图作为窗口。

弹出窗口将是不错的选择,因为它是API LEVEL 1

请参阅此docsexample 1example 2

弹出菜单自API级别11开始。因此您必须管理较低版本

docs for Popup Menuexample

弹出窗口