它在令牌“;”上写入语法错误,,预计在private ArrayAdapter adapter ;
package ru.for_listactivity;
import android.os.Bundle;
import android.app.ListActivity;
import android.view.Menu;
import android.widget.ArrayAdapter;
public class MainActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
final String[] catnames = new String[] { "Рыжик", "Барсик", "Мурзик",
"Мурка", "Васьк", "Томасина", "Бобик", "Кристина", "Пушок",
"Дымка", "Кузя", "Китти", "Барбос", "Масяня", "Симба" } ;
private ArrayAdapter<String> adapter ; // here is a problem
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, catnames);
}
行之后
答案 0 :(得分:3)
我认为问题在于您在方法之外有代码,而不是在静态初始化程序块中。
试试这个:
private ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, catnames);
答案 1 :(得分:1)
这很好:
private ArrayAdapter<String> adapter ;
它声明adapter
,因此它可以被类中包含的任何方法使用。
然而,这不是:
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, catnames);
它需要在一个方法中(也许你想在onCreate
中?),而不仅仅是在类中: