单击所有类别的单击侦听器

时间:2016-10-21 17:38:14

标签: java android android-studio sdk event-listener

我收到一条错误,说除了方法调用之外无法解析符号onClickListener,setOnClickListener可能会产生java.lang.Nullpointerexception。任何形式的帮助将不胜感激!!

公共类MainActivity扩展了AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set the content of the activity to use the activity_main.xml layout file
    setContentView(R.layout.activity_main);


    //Find the view that shows the numbers category
    TextView numbers = (TextView)findViewById(R.id.numbers);

    //Set a click listener on that view
    numbers.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {
            //Create a new intent to open the {@link NumbersActivity}
            Intent numbersIntent = new Intent(MainActivity.this,  NumbersActivity.class);

            //Start the new activity
            startActivity(numbersIntent);
        }
                               });

    //Set button listener for the view
    //buttonView.setOnClickListener(clickListener);
}

}

2 个答案:

答案 0 :(得分:1)

  

我收到错误消息,指出无法解析onClickListener中的符号   除了方法调用setOnClickListener可能会产生   显示java.lang.NullPointerException

ViewDialogInterface类都有一个公共OnClickListener接口(还有无数的库)。您需要明确告诉编译器您要使用哪个:

numbers.setOnClickListener(new View.OnClickListener() {

NullPointerException警告只是因为findViewById()可以返回null。如果您确定View永远不会null,则可以忽略该警告或使用assert声明:

TextView numbers = (TextView) findViewById(R.id.numbers);
assert numbers != null;

答案 1 :(得分:0)

对“numbers”变量使用简单的空值检查:

if (numbers != null){
  numbers.setOnClickListener(new OnClickListener()...
}