Android 什么';这个安卓程序出了什么问题?

Android 什么';这个安卓程序出了什么问题?,android,textview,android-edittext,Android,Textview,Android Edittext,我正在编写一份测试应用程序,其中包括: 2个按钮 1编辑文本 1文本视图 第一个按钮“Random”在编辑文本框和文本视图中写入随机名称 (我有一个名为RandomName的类,它返回一个带有随机名称的字符串) 第二个按钮“打印”将编辑文本中的内容写入文本视图 程序在我运行时崩溃了,我不知道为什么。任何帮助都将不胜感激 此处的布局图像: } 编辑:将代码更改为以下内容:(它不再崩溃,但不工作,如按钮中的“不做任何事情”) }我认为问题在于以下几点: public EditText nomeEdt

我正在编写一份测试应用程序,其中包括: 2个按钮 1编辑文本 1文本视图

第一个按钮“Random”在编辑文本框和文本视图中写入随机名称 (我有一个名为RandomName的类,它返回一个带有随机名称的字符串)

第二个按钮“打印”将编辑文本中的内容写入文本视图

程序在我运行时崩溃了,我不知道为什么。任何帮助都将不胜感激

此处的布局图像:

}

编辑:将代码更改为以下内容:(它不再崩溃,但不工作,如按钮中的“不做任何事情”)


}

我认为问题在于以下几点:

public EditText nomeEdt = (EditText)findViewById(R.id.editText1);
public String nomeStr = nomeEdt.toString();
public TextView nomeTest = (TextView) findViewById(R.id.textView1);
将此更改为

public EditText nomeEdt;
public TextView nomeTest;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nomeEdt = (EditText)findViewById(R.id.editText1);
nomeStr = nomeEdt.toString();
nomeTest = (TextView) findViewById(R.id.textView1);
}
尝试一下,看看它是否能解决您的问题。在设置contentview之前,无法查找其他视图


此外,如果您在提问时发布stacktrace也会有所帮助

我认为问题在于以下几行:

public EditText nomeEdt = (EditText)findViewById(R.id.editText1);
public String nomeStr = nomeEdt.toString();
public TextView nomeTest = (TextView) findViewById(R.id.textView1);
将此更改为

public EditText nomeEdt;
public TextView nomeTest;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nomeEdt = (EditText)findViewById(R.id.editText1);
nomeStr = nomeEdt.toString();
nomeTest = (TextView) findViewById(R.id.textView1);
}
尝试一下,看看它是否能解决您的问题。在设置contentview之前,无法查找其他视图


如果您在提问时发布stacktrace,那么它也会有所帮助。您必须在
onCreate()
方法中声明您的
EditText
TextView
,而不是在类的主体中。这是因为如果没有调用
onCreate()
方法中的
setContentView()
,就不能调用findViewById()。

必须在
onCreate()
方法中声明
EditText
TextView
而不是在类的主体中。这是因为如果没有调用
onCreate()
方法中的
setContentView()
,就不能调用findViewById()。

可以将ui元素声明为成员,但不能在声明时使用“按id查找视图”方法为它们赋值。这是因为它们在您调用“设置内容视图”之后才存在。因此,在申报时,请:

public EditText nomeEdt;
以此类推,在onCreate中,在调用setContentView后,执行以下操作:

nomeEdt = (EditText)findViewById(R.id.editText1);

依此类推:)

您可以将ui元素声明为成员,但不能在声明时使用“按id查找视图”方法为它们赋值。这是因为它们在您调用“设置内容视图”之后才存在。因此,在申报时,请:

public EditText nomeEdt;
以此类推,在onCreate中,在调用setContentView后,执行以下操作:

nomeEdt = (EditText)findViewById(R.id.editText1);

依此类推:)

您需要为按钮设置onClickListeners

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


nomeEdt = (EditText)findViewById(R.id.editText1);
nomeStr = nomeEdt.toString();
nomeTest = (TextView) findViewById(R.id.textView1);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
}

您需要为按钮设置onClickListeners

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


nomeEdt = (EditText)findViewById(R.id.editText1);
nomeStr = nomeEdt.toString();
nomeTest = (TextView) findViewById(R.id.textView1);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
}


对布局xml更感兴趣,而不是它应该是什么样子的屏幕帽;)只是想补充一下上面的评论——你的按钮1和按钮2在哪里?是否为按钮指定OnClickClistener。请详细说明您的问题和描述。只有这样,这里的人才能帮助你。问题解决了,点击听众确实失踪了。很抱歉,这个问题不完整。谢谢对布局xml更感兴趣,而不是它应该是什么样子的屏幕帽;)只是想补充一下上面的评论——你的按钮1和按钮2在哪里?是否为按钮指定OnClickClistener。请详细说明您的问题和描述。只有这样,这里的人才能帮助你。问题解决了,点击听众确实失踪了。很抱歉,这个问题不完整。谢谢从语义上讲,声明和赋值是两件独立的事情。它们可以在setContentView之前声明,不能在调用setContentView之前从findViewById中为它们赋值。从语义上讲,声明和赋值是两件独立的事情。它们可以在setContentView之前声明,不能在调用setContentView之前从findViewById中为它们赋值。我将代码编辑为以下内容,它不再崩溃,但不起作用-按钮什么都不做:“问题编辑****”除非在view.xml中设置了onclick侦听器,否则您还没有为按钮设置onclick侦听器(您尚未发布)。请查看此处以了解更多信息。是的,单击侦听器确实丢失了。谢谢大家。我将代码编辑为以下内容,它不再崩溃,但不起作用-按钮什么也不做:“问题编辑****”您没有为按钮设置onclick侦听器,除非您在view.xml中这样做(您尚未发布)。请查看此处以了解更多信息。是的,确实缺少单击侦听器。谢谢大家。@AngeloTiberiodeCarvalho必须具有布局文件main.xmltoo@AngeloTiberiodeCarvalho必须将布局文件main.xml设置为是的,确实缺少单击侦听器。谢谢大家。是的,确实缺少单击侦听器。谢谢大家。