2

だから、私はいくつかの基本的なアンドロイドプログラミングを学ぼうとしていますが、プログラムで生成された ListView の onItemClick() メソッドを設定しようとしたときに障害にぶつかりました。Eclipse が私に与えているエラーは、「タイプ AdapterView のメソッド setOnItemClickListener(AdapterView.OnItemClickListener) は、引数 (new onItemClickListener(){}) には適用できません」と述べています。そして、私は完全に混乱しています。プロジェクトに問題があった可能性を考慮して、プロジェクトを数回クリーニングしようとしました。この同様の質問にあるアドバイスも試しました成功しませんでした。残念ながら、それが私の問題に関連して見つかった唯一の質問です.onItemClickListenerに関するほとんどの質問は、適切に呼び出されないことに対処しています。提案されたコードでこれらの質問に目を通し、コードが提案されているものに従っていることを確認しようとしました。どんな助けでも大歓迎です。問題のあるコードのスニペットは次のとおりです。

import java.util.ArrayList;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.AdapterView;
import android.widget.TextView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
public ArrayList<ContactData> data;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contact_list);
    data = getContacts(); // creates arraylist for contact data
    ArrayList<String> names = new ArrayList<String>();
    for (ContactData item: data) {
        names.add(item.getName());
    }
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.textview, names);
    ListView listView = (ListView) findViewById(R.id.listview1);
    listView.setAdapter(adapter);
    //listView.setClickable(true);
    // set click listener
    listView.setOnItemClickListener(new AdapterView.onItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            TextView textView = (TextView) view;
            String name = textView.getText().toString();
            Toast.makeText(getBaseContext(), name, Toast.LENGTH_SHORT).show();
        }
    });
}

編集:日食で運がなかったので、気まぐれに、Googleが提供する端末ツールを試し、その方法でプロジェクトを構築しようとしました。それはうまくいったので、日食で何かが台無しになっています。どのように、または何をしているのかはわかりませんが、現在はすべて正常に機能しています。

4

3 に答える 3

2

ちょっとした誤字です。行を変更する

listView.setOnItemClickListener(new AdapterView.onItemClickListener() {

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

(OnItemClickListener で大文字の「O」が抜けていました)

于 2013-01-30T05:24:47.347 に答える
0

Eclipse でうまくいかなかったので、気まぐれに、Google が提供する端末ツールを試し、その方法でプロジェクトをビルドしようとしました。それはうまくいったので、日食で何かが台無しになっています。どのように、または何をしているのかはわかりませんが、現在はすべて正常に機能しています。私のコードをコンパイルして動作させる限り、それは答えられています。

于 2013-02-23T03:15:41.023 に答える
0

android.widget.AdapterView.OnItemClickListener をインポートしてみてください

于 2013-02-08T02:47:35.370 に答える