-4

ボタンをクリックしても何も起こりません。pls はこの問題から抜け出すのに役立ちます。前もって感謝します。

MainActivity.java

import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;

public class MainActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
        Button btn = (Button)findViewById(R.id.hom_sel_enter_btn);
        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                setContentView(R.layout.menu_selection_layout);
            }
        });
    }
}


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" android:background="@drawable/loadingscreen">
        <RelativeLayout>
            android:id="@+id/InnerRelativeLayout"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true" >
            <Button>
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/hom_sel_enter_btn"
                android:layout_gravity="center_horizontal"
                android:soundEffectsEnabled="true"
                android:background="@drawable/ent_sel_bn" >
            </Button>
        </RelativeLayout>
    </RelativeLayout>


app_menu_sel.java import android.app.Activity; android.os.Bundle をインポートします。android.view.View をインポートします。android.view.View.OnClickListener をインポートします。android.widget.Button をインポートします。

public class app_menu_sel extends Activity{
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu_selection_layout);
        Button btn1 = (Button)findViewById(R.id.hom_but_selection_top);
        btn1.setOnClickListener(btnListener);
    }

    private OnClickListener btnListener = new OnClickListener() {
        public void onClick(View v) {
            setContentView(R.layout.activity_main);
        }
    };
}


menu_selection_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout>
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button>
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/hom_but_selection_top"
            android:clickable="true"
            android:background="@drawable/home">
        </Button>
    </LinearLayout>
</LinearLayout>


マニフェスト

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.display"
    android:versionCode="1"
    android:versionName="1.0" >

    <application>
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity>
            android:name="com.example.display.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation = "portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="com.example.display.app_menu_sel"
            android:label="@string/app_menu_sel"
        android:screenOrientation = "portrait">
        </activity>
    </application>
</manifest>
4

2 に答える 2

4

コードを置き換える

public class MainActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
        Button btn = (Button) findViewById(R.id.hom_sel_enter_btn);
        btn.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(), app_menu_sel.class));
            }
        });
    }
}

public class app_menu_sel extends Activity{
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu_selection_layout);
        Button btn1 = (Button)findViewById(R.id.hom_but_selection_top);
        btn1.setOnClickListener(btnListener);
    }

    private OnClickListener btnListener = new OnClickListener() {
        public void onClick(View v) {
            startActivity(new Intent(getApplicationContext(), MainActivity.class));
        }
    };
}

結果を教えてください。

于 2013-06-24T14:07:08.247 に答える
0

setContentView() を複数回呼び出すことはお勧めしません。同じアクティビティ内でレイアウトを切り替える通常の方法は、ViewFlipper または FrameLayout を使用することです (「setContentView() を複数回呼び出す」および「Android で動的なフリップ画面 (iPhone のような) を作成する方法」を参照)。

または、ViewSwitcher を使用することもできます。これは、ニーズに非常に適しているようです。詳細なチュートリアルが http://inphamousdevelopment.wordpress.com/2010/10/11/using-a-viewswitcher-in-your-android-xml-layouts/にあります。

于 2013-06-24T13:59:39.473 に答える