我收到一条错误,说除了方法调用之外无法解析符号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);
}
}
答案 0 :(得分:1)
我收到错误消息,指出无法解析onClickListener中的符号 除了方法调用setOnClickListener可能会产生 显示java.lang.NullPointerException
View
和DialogInterface
类都有一个公共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()...
}