2011-11-14 7 views
1

私はListViewを持っています。アイテムを押したときに別の画面に移動します。後でカスタマイズしますが、その時点ではそのウィンドウに移動しますこの場合は、res/layout/mylayout.xmlに定義されているxmlファイルに関するものです。AndroidのonListItemClick()から別のレイアウトに移動する

protected void onListItemClick (ListView l, View v, int position, long id){ 
    super.onListItemClick(l, v, position, id); 
    setContentView(R.layout.mylayout); 
} 

私はdo.In LogCatが、私は私のコンテンツは、リストビューが含まれている必要があることを、いくつかの例外を取得する必要がありますが、なぜこれが起こるはず他に何の何かを想像することはできませんか?多分私はそのレイアウトに何か他のものを入れたいかもしれません、多分ちょうどtextview.Pleaseどうすればいいのか教えてください。

答えて

2

別のActivityを作成し、Intentを使用して開始する必要があります。

基本的に、すべての画面で異なるアクティビティを使用します。偉大なリソースここ

http://developer.android.com/guide/topics/fundamentals.html

であるAndroidの開発者サイト、の詳細については、あなたが意図を使用しての活動の中から活動を開始する方法です。あなたが開始する活動が呼び出されると仮定するとMyActivity:また

Intent intent = new Intent(this, MyActivity.class); 
startActivity(intent); 

<application></application>タグの内側にマニフェストファイルにアクティビティを追加してください:

<activity 
     android:label="My Activity Title" 
     android:name=".MyActivity" > 
    </activity> 
+0

良いアドバイスもありますが、インテントの取得方法を教えてください。新しい作成されたアクティビティで新しいintent = getIntent()を作成しようとしましたが、静的宣言してからonListItemClick()内でstartNewActivity(intent)を使用しましたが、nullPointerExceptionを取得しました。 – AlexAndro

+0

私は応答を編集しました – Craigy

0

適切な方法をanothwerを起動することですアクティビティ(意図を発して、おそらくいくつかのエクストラを使ってクリックしたアイテムを合成する)

0

あなたはextendind ListActivityなので、ListViewが必要です。最初のitemClickエラープロンプトが表示された後、listViewを含まないsetContentView(R.layout.mylayout)によってビューがリセットされたことを意味します。

LsitActivityではなくアクティビティを拡張します。その中に書き込み

ListView lv = (ListView) findViewByID(R.id.listView) ; 

onClikc問題が解決されます。

+0

アイデアをありがとう、私はListActivityを拡張しない場合、私はいくつかの機能を緩和します。 – AlexAndro

+0

ListActivityのすべての機能はAアクティビティを通して可能です。上記のコードでgetListView()を置き換えてください –

関連する問題