1

public void onListItemClick(ListView l, View v, int position, long id) { if(position == 0){ setContentView(R.layout.cuisine); } }

文字列の配列があり、上記の方法を使用して、クリックすると「cuisine」という新しいxmlファイルを開こうとしています。しかし、それは失敗し続けます!

私はこれを正しく行いましたか、それとも何が間違っていますか?

ありがとう。

Web で同様の問題を見て、人々は onListItemClick() を取得して新しいアクティビティを開始し、その新しいアクティビティを使用して新しいビューを開くと言っていましたか?

だから私がやったことはこれです...

 protected void onListItemClick(ListView l, View v, int position, long id)
{
    Intent dundrumIntent = new Intent(v.getContext(), DundrumSelector.class);
    dundrumIntent.putExtra("position", position);
    startActivityForResult(dundrumIntent, 0);
}

その後

import android.app.Activity;

android.os.Bundle をインポートします。

public class DundrumSelector extends Activity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);

    int position = getIntent().getExtras().getInt("position");

    if(position == 0){
        setContentView(R.layout.cuisine);
    }
}

}

それでも、私はまだ同じ問題を抱えています。listView のアイテムをクリックすると、プログラムがクラッシュします。はい、マニフェストにアクティビティを追加しました。

多くの人が同じ問題を抱えているように見えるので、誰かがこれに対する解決策を持っていますか.

どうもありがとう。

4

2 に答える 2

1

わかりました。

avd を設定した元の avd に戻しましたが、今は問題なく動作しているようです。

何らかの理由で、Google avd で使用したときに機能しませんでしたか?

于 2010-05-25T14:38:36.800 に答える
0

スーパーへの呼び出しが含まれていませんonListItemClick

最初の行を作成してみてください:super.onListItemClick(l,v,position,id);

于 2010-05-25T14:44:48.803 に答える