所以,我一生中从未接触过 Java 编程(做过一点 C 和 C++,什么都不记得了),但我正在努力解决问题。我正在尝试让 Android 应用程序在单击按钮时显示数组中的随机字符串。到目前为止,我一直在从这里和那里复制片段。但是我遇到了 OnClickListener 的问题。
package com.example.testrun01;
import java.util.Random;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.res.Resources;
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
private String[] PhraseString;
private static final Random rgenerator = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.textView1);
Button btnClick = (Button) findViewById(R.id.btnClick);
btnClick.setonclickListener(new onClickListner(){
public void onclick()
{
PhraseString = getResources().getStringArray(R.array.Phrases);
String q = PhraseString[rgenerator.nextInt(PhraseString.length)];
tv.setText(q);
}
});
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
让我分解错误(总共 4 个):
1) 方法 setonclickListener(new onClickListner(){}) 未定义类型 Button
2) onClickListener 无法解析为类型
3) 无法引用非最终变量tv 在以不同方法定义的内部类中
4) 语法错误
前两个在同一行,btnClick.setonclickListener(new onClickListner(){。
第三个在 tv.setText(q);
第四个在 });
我猜前三个的分辨率将解决第四个。如果有人愿意帮助那些不了解 Java 并且仍在尝试编写程序的人,请让我知道我哪里出错了,以及如何确保我将来不会出错。提前感谢大家。