-1

トークン「;」に構文エラーを書き込みます。、、行の後に期待される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);

} 
4

2 に答える 2

3

問題は、静的初期化ブロック内ではなく、メソッドの外にコードがあることだと思います。

これを試して:

private ArrayAdapter<String> adapter = 
    new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, catnames);
于 2012-12-01T14:57:43.010 に答える
1

これで問題ありません:

private ArrayAdapter<String> adapter ; 

adapterクラスに含まれる任意のメソッドで使用できるように宣言します。

ただし、これは次のとおりではありません。

adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, catnames);

onCreateクラスだけでなく、メソッド内にある必要があります(おそらく?)。

于 2012-12-01T15:02:44.420 に答える