【发布时间】:2014-10-06 12:22:42
【问题描述】:
我必须制作一个用户输入然后 AI 响应的应用程序,但是当我输入一些文本并按发送时,它会给我一条消息“不幸的是,应用程序已停止”。
这是我的代码:
这里是发送代码:
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Button"
android:id="@+id/Send_btn"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="Zdenka" />...
这里是 .java 文件的开始:
EditText Text, OdgBox;
String odg;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
EditText Text = (EditText) findViewById(R.id.Txt); //User input
Button Btn = (Button) findViewById(R.id.Send_btn); //Send button
TextView Output = (TextView) findViewById(R.id.TextView); //AI output
}...
还有java文件的最后一部分:
...
public void Zdenka (TextView Output, EditText Text, String odg) {
String Text1 = Text.toString().toLowerCase();
if (Text1 == "živjo") {
odg = "Živjo";
}
else if (Text1 == "zivjo") {
odg = "oj";
}
else{ odg = "Ne razumem."; }
Output.setText(odg);
感谢您的帮助!
【问题讨论】:
-
您不能使用
==来比较Java 中的字符串。因此,您的odg字符串永远不会在您的Zdenka方法中初始化,并且在您尝试使用它时会导致NullPointerException。 -
好吧,这个问题并没有说明关于比较字符串的任何内容。 @Squonk 的错误关闭。
-
@MysticMagic :看看我的评论和OP发布的代码。
-
您的问题是该活动需要具有以下签名的方法:
public void Zdenka(View view) {} -
@Squonk 他正在崩溃 :) 这是由于找不到方法。
标签: java android xml crash android-studio