我对此很陌生,但我有几个问题可能看起来很愚蠢,但我真的很感激得到答案。它们位于代码块的正下方。
package com.mycompany.myapp;
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.view.View.*;
public class MainActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button) findViewById(R.id.button);
b.setOnClickListener(new OnClickListener() {
public void onClick(View p1) {
((TextView)findViewById(R.id.txtview)).setText(getDiag(40));
}
});
Button c = (Button) findViewById(R.id.button2);
b.setOnClickListener(new OnClickListener() {
public void onClick(View p1) {
((TextView)findViewById(R.id.txtview)).setText(getDiag(5));
}
});
}
public String getDiag(int n){
String spaces = "";
String finalstring = "";
for(int i = 0; (i <= n); i++){
spaces += " ";
finalstring += spaces + "*" + "n";
}
return finalstring;
}}
所以,要弄清楚我的问题是什么:1)AIDE创建的整个默认方法是什么?它总是需要的,还是我也可以只编写我通常的 java 并在没有所有 UI 的情况下运行我的方法?
2)我在括号的某个地方有问题,在我添加按钮c之前一切正常。我不知道确切地将它放在哪里,当前的代码 AIDE 告诉我它对变量 c 没有限制。第 25 行的"从何而来?
-
您可以自己编写代码,随心所欲
-
无法访问按钮 c 单击,因为您犯了一个小错误:
在setOnClickListener处将b替换为c:
Button c = (Button) findViewById(R.id.button2);
b.setOnClickListener(new OnClickListener() {
public void onClick(View p1) {
((TextView)findViewById(R.id.txtview)).setText(getDiag(5));
}
});
应如下所示:
Button c = (Button) findViewById(R.id.button2);
c.setOnClickListener(new OnClickListener() {
public void onClick(View p1) {
((TextView)findViewById(R.id.txtview)).setText(getDiag(5));
}
});
要回答问题 1:提供的默认结构是提供 Android 应用程序生命周期的方法。它们被定义为为应用提供流。您可以使用服务在没有 UI 的情况下编写 Java 代码。
您可以在 Android 清单中修改按钮位置.xml并检查您是否确实有按钮2。
您能否提供更详细的错误。
我看不到您的第 25 行,但如果您谈论的是 onclickListener,它是匿名类/接口实现的签名。