android按钮单击无法在程序中工作

时间:2012-07-18 23:30:39

标签: android

大家好我有一个问题,当我点击一个按钮时,它保持不变,而不是开始新的活动。我在这个网站上搜索了他的问题并找到了一些解决方案,但没有一个对我有用,所以我在这里写我的问题。

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时,它没有响应

1 个答案:

答案 0 :(得分: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 Class是First Screen,那么你应该在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>

我想通过做这些改变,事情会很好。

如果您无法理解上述工作原理,请参阅完整工作示例链接以及源代码 - Correct Working of Button Click