0

みなさん、こんにちは。ボタンをクリックしても、新しいアクティビティが開始されずにそのまま残るという問題があります。このサイトで彼の問題を検索し、いくつかの解決策を見つけましたが、どれもうまくいかなかったので、ここに問題を書いています。

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" >

    <TextView
        android:id="@+id/profile_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/profile" />

    <Button
        android:id="@+id/create_profile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="@string/create_profile" />

    <Button
        android:id="@+id/edit_profile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@id/create_profile"
        android:text="@string/edit_profile" />

    <Button
        android:id="@+id/delete_profile"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@id/edit_profile"
        android:text="@string/delete_profile" />

    <Button
        android:id="@+id/activate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@id/delete_profile"
        android:text="@string/activate" />

    <ListView
        android:id="@id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/create_profile"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/profile_title" />

    <TextView
        android:id="@id/android:empty"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/create_profile"
        android:layout_below="@id/profile_title"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/no_profiles" />

</RelativeLayout>

そして活動は

package com.android.SmartSwitch;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Profile_Manager extends Activity {
    private Button createButton;
    private Button editButton;
    private Button deleteButton;
    private Button activateButton;


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.profile);
        setUpViews();
    }



    private void setUpViews() {
        createButton = (Button)findViewById(R.id.create_profile);
        editButton = (Button)findViewById(R.id.edit_profile);
        deleteButton = (Button)findViewById(R.id.delete_profile);
        activateButton = (Button)findViewById(R.id.activate);

        createButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent(Profile_Manager.this, Add_Profile.class);
                startActivity(intent);
            }
        });

        editButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {

            }
        });

        deleteButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {

            }
        });

        activateButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {

            }
        });
    }

}

androidmanifest.xml

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

    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".SmartSwitchActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Location_Manager" android:label="@string/app_name"/>
        <activity android:name=".Profile_Manager" android:label="@string/app_name"/>
        <activity android:name=".Schedule_Manager" android:label="@string/app_name"/>
        <activity android:name=".Location_In_Map" android:label="@string/app_name"/>
        <activity android:name=".Add_Profile" android:label="@string/app_name"/>
        <uses-library android:name="com.google.android.maps" />

    </application>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>

createButton をクリックしても反応しない

4

1 に答える 1

1

メイン アクティビティとして、つまりProfile_Managerは次のコードで構成されます。

<activity
        android:label="@string/app_name"
        android:name=".SmartSwitchActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Profile Manager クラスが起動されるクラスであるかどうかに注意する必要があります。つまり、Profile_Manager クラスが最初の画面である場合は、上記のコードを AndroidManifest.xml に作成し、android:name=".Profile_Manager" としてのみ変更する必要があります。 「SmartSwitchActivity」の代わりに、次のように Add_Profile クラスにコードを追加します。

<activity
        android:label="@string/app_name"
        android:name=".Add_Profile" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

この変更を行うことで、うまくいくと思います。

上記の動作を理解できない場合は、完全な動作例と利用可能なソースコードのリンクがあります-ボタンクリックの正しい動作

于 2012-11-26T09:36:00.773 に答える