2011-07-15 5 views
0

ListViewでアイテムを押すと、自分のAndroidアプリケーションで作成したアクティビティの1つを呼び出すことにします。基本的に私はときにアイテム「myFirst」の活動を呼びたいAndroidアプリケーションのListViewで項目を押したときにアクティビティを呼び出す

  Intent lp = new Intent(this, myFirst.class); 
      startActivity(lp); 

:それは、私は次の2行に関連したエラーが出ますが

ListView lv = getListView(); 
    lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      . 
      . 
      . 

      Intent lp = new Intent(this, myFirst.class); 
      startActivity(lp); 
     } 
     }); 

:私が使用したい コードはこれです私のリストビューが押された。 ここで「myFirst」アクティビティを呼び出す正しい方法は何ですか?

ありがとうございました。

あなたの意思にOnItemClickListenerのインスタンスを渡しているので、あなたはこのエラーを取得しているTJ

+0

があなたのManifest.xmlファイルを投稿してください。この方法のように行うことができますか? – Nikhil

答えて

4

。 私はこれであなたを助けることができると思いActiity

Intent lp = new Intent(YourActivity.this, myFirst.class); 
startActivity(lp); 
+1

そして、 'myFirst'をマニフェストの' Activity'として定義してください。規約により、クラス名は大文字で始まる必要があります。 (つまり、「MyFirst.class') –

+0

ありがとうございました。私は "This"を "MyActivity.this"に変更し、エラーはなくなりました。 – TJ1

+0

あなたの問題を解決してうれしい。ハッピーコーディング! –

1

のインスタンスを渡すようにしてください。 'this'はあなたの現在の活動を参照していない可能性があります。

「this」の代わりに、次を使用してください。

名前が現在のものであるかどうかを示します(現在のファイル名)。これは常に動作します。

+0

答えがありがとう、それは基本的に@ Tanamyが提案したのと同じ答えでした。 – TJ1

0

あなたは

Intent lp = new Intent(<filename>.this,myFirst.class); 

または

Intent lp = new Intent(getApplicationContext(),myFirst.class); 
lp.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(lp); 
+0

ありがとう、これは上記の回答と同じです。 – TJ1