已回答(在底部)

因此,我一直在尝试获取按钮以允许我进入下一个屏幕。
我正在日食中编程。
这是一个基本的登录按钮,允许我进入登录屏幕。
我为冗长的帖子表示歉意,但是我觉得提供我现在拥有的所有信息都是很好的。

我想知道它是否是我的设备,可以在按下播放键时在其上运行。

我的logcat底部的错误是:

(logcat的前几行)

11-06 18:08:59.973: PID 324 TID 324 D/AndroidRuntime(324): Shutting down VM
11-06 18:08:59.973: W/dalvikvm(324): threadid=1: thread exiting with uncaught exception
(group=0x4001d800)
11-06 18:08:59.983: E/AndroidRuntime(324): FATAL EXCEPTION: main
11-06 18:08:59.983: E/AndroidRuntime(324): android.content.ActivityNotFoundException: Unable to
find explicit activity class {com.example.coffeeshop/com.example.coffeeshop.Login}; have you
declared this activity in your AndroidManifest.xml?


这些是出错的前几行。

所以我的res / layout / activity_main代码:
(请注意,“创建帐户”的第二个按钮不会成为我要让登录名进入登录屏幕的问题。)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".Main"
    android:background="#15BCA8"
    android:id="@+id/activity_main">
<Button
    android:id="@+id/createbtn"
    android:layout_width="2200dp"
    android:layout_height="70dp"
    android:padding="10dp"
    android:textSize="25sp"
    android:textStyle="bold|normal"
    android:text="@string/create_account"
    android:textColor="#000000"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="44dp"
    android:background="@drawable/roundedbutton" />
<Button
    android:id="@+id/loginbtn"
    android:layout_width="2200dp"
    android:layout_height="80dp"
    android:layout_above="@+id/createbtn"
    android:layout_alignStart="@+id/createbtn"
    android:layout_alignLeft="@+id/createbtn"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="29dp"
    android:padding="10dp"
    android:text="@string/log_in"
    android:textColor="#000000"
    android:textSize="30sp"
    android:textStyle="bold|normal"
    android:typeface="sans"
    android:background="@drawable/roundedbutton"
    />
</RelativeLayout>


并且此布局假设导致了login.xml。另外,roundedbutton将在末尾发布,但我认为这不是问题。
login.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="#15BCA8"
android:id="@+id/loginlayout">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="60sp"
    android:text="Login"
    android:id="@+id/textView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="61dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Username"
    android:id="@+id/button"
    android:textColor="#000000"
    android:background="#15BCA8"
    android:layout_marginTop="65dp"
    android:layout_toStartOf="@+id/textView"
    android:layout_below="@+id/textView"
    android:layout_toLeftOf="@+id/textView" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Password"
    android:id="@+id/button2"
    android:textColor="#000000"
    android:background="#15BCA8"
    android:layout_marginTop="58dp"
    android:layout_below="@+id/editText"
    android:layout_alignLeft="@+id/button"
    android:layout_alignStart="@+id/button" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textPersonName"
    android:ems="10"
    android:id="@+id/editText"
    android:layout_below="@+id/button"
    android:layout_alignLeft="@+id/button2"
    android:layout_alignStart="@+id/button2"
    android:background="#FFFFFF" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textPassword"
    android:ems="10"
    android:id="@+id/editText2"
    android:layout_below="@+id/button2"
    android:layout_alignLeft="@+id/button2"
    android:layout_alignStart="@+id/button2"
    android:background="#FFFFFF" />

<Button
    android:id="@+id/sbmtbtn"
    android:layout_width="120dp"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/editText2"
    android:layout_alignRight="@+id/editText2"
    android:layout_below="@+id/editText2"
    android:layout_marginTop="20dp"
    android:background="@drawable/roundedbutton"
    android:text="Submit"
    android:textSize="24sp" />

</RelativeLayout>


所以这似乎还不错,是吗?

这是我的MainActivity.java类:

package com.example.coffeeshop;

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


    public class MainActivity  extends Activity {

    Button button;

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

    private void addListenerOnButton() {

        final Context context = this;

        button = (Button) findViewById(R.id.loginbtn);
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent intent = new Intent(context, Login.class);
                startActivity(intent);

            }

        });
    }
}


并应将我链接到我的登录屏幕,代码如下:

package com.example.coffeeshop;

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

public class Login  extends Activity {

    Button button;

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

    private void addListenerOnButton() {

        final Context context = this;

        button = (Button) findViewById(R.id.sbmtbtn);
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent(context, MainMenu.class);
                startActivity(intent);
            }
        });
    }
}


有趣的是,这是我的xml文件调用的“ roundedbutton.xml”文件。
这里应该没有问题。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle" android:padding="10dp">
 <!--  solid android:color="#834672"-->
 <gradient android:startColor="#834672"
           android:endColor="#718C93"
           android:angle="270" />
<stroke android:width="5px" android:color="#06302F" />
<corners android:radius="10dp"/>
</shape>


现在我不明白为什么我的程序崩溃了。

好。我现在有一个对我有用的答案。我不知道清单,但是清单中的“快速蜗牛”代码立即解决了该清单。

最佳答案



ActivityNotFoundException


这意味着您尚未在AndroidManifest文件中声明此活动。您需要在清单文件中声明所有活动

错误正好说明您的问题

find explicit activity class {com.example.coffeeshop/com.example.coffeeshop.Login}; have you
declared this activity in your AndroidManifest.xml?


将此行添加到清单文件

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


最后清单应该看起来像//示例

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.coffeeshop">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity" android:label="@string/app_name"></activity>

        <activity android:name=".Login"></activity> <!--add this line -->

    </application>
</manifest>

08-04 17:05