已回答(在底部)
所以我一直试图让我的按钮让我进入下一个屏幕。 我在eclipse中编程。 这是一个基本的登录按钮,允许我进入登录界面。 我为长篇文章道歉,但我觉得现在提供的所有信息都很好。
我想知道这是我的设备,当我按下播放时,我正在使用它。
我的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。此外,圆形按钮将在最后发布,但我不认为这是一个问题。 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>
现在我无法理解我的程序崩溃的原因。
确定。我现在有一个对我有用的答案。我不知道清单,它立即用他的答案留下的“快速蜗牛”代码解决了。
答案 0 :(得分:2)
基于您的logcat,问题是您尚未在清单文件中定义您的活动。
清单文件向Android系统提供有关您的应用程序的基本信息,这是系统在运行任何应用程序代码之前必须具备的信息。在应用程序运行之前,系统必须知道您的应用程序中有哪些活动,并且它通过清单文件知道。如果您错过了清单文件中的任何活动,则系统会认为该活动不存在。现在,当app运行时,它指向一些系统无法识别的活动。因此,它崩溃了。你可以在这里阅读有关android清单文件的更多信息http://developer.android.com/guide/topics/manifest/manifest-intro.html
我无法支持其他我会选择@fast蜗牛的答案,我想这会解决你的问题。
答案 1 :(得分:1)
好吧
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>