android - Noob 有多个安卓问题

标签 android arrays string button onclicklistener

<分区>

因此,我这辈子从未接触过 Java 编程(接触过一点 C 和 C++,什么都不记得了),但我正在尝试解决问题。我正在尝试制作一个 Android 应用程序,以便在单击按钮时显示数组中的随机字符串。到目前为止,我一直在到处复制 fragment 。但是我遇到了 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 并且仍在尝试编写程序的人,请告诉我哪里出了问题以及如何确保我以后不会出错。提前感谢大家。

最佳答案

1) The method setonclickListener(new onClickListner(){}) is undefined for the type Button

是的,是的。您正在寻找的方法称为 setOnClickListener

2) onClickListener cannot be resolved to a type

您正在寻找的类型是 OnClickListener。您不仅写了一个小写的 o,还漏写了一个 e

3) Cannot refer to a non-final variable tv inside an inner class defined in a different method

Java 就是这样工作的。如果您想在匿名 OnClickListener 中访问 say tv,则声明 final TextView tv

4) Syntax Error

OnClickListener 的方法应该称为 onClick

关于android - Noob 有多个安卓问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095790/

相关文章:

java - 无法在 eclipse (java) 中创建 ServerSocket

java - 在 ListView 中选择项目

Python 在 Ruby 中的枚举?

java - 字符串创建和字符数组内存分配

Java:从输入字符串数组生成 nCr 数组并返回它

android - 如何在 Edittext Android 中取消选中的文本?

Android,使用 String.format() 处理插入 null

java - 在java中创建类实例数组

arrays - 将每个相邻值的平均值插入原始向量

C程序检查字符串是否为回文