2012-07-30 76 views
0

我試圖啓動一個新的意圖點擊列表視圖中的項目,但不知道如何得到這個工作。開始新的意圖

下面是代碼:

final ListView lv = getListView(); 
lv.setTextFilterEnabled(true); 
lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {    
      @SuppressWarnings("unchecked")     
      Intent intent = new Intent(this, Profileviewer.class); 
      startActivity(intent); 
     } 
}); 

我得到一個compiller錯誤的new Intent(this, Profileviewer.class);

The constructor Intent(new AdapterView.OnItemClickListener(){}, Class<Profileviewer>) is undefined 

回答

4

你應該傳遞給意圖活動的(通過將YourActivity.this)的背景下,只通過,你通過AdapterView.OnItemClickListener() ..

lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {    
     @SuppressWarnings("unchecked")     
     Intent intent = new Intent(YourActivity.this, Profileviewer.class); 
     startActivity(intent); 
    } 
}); 
+0

不錯,這件作品現在像一個魅力,只需要再等5分鐘就可以接受這個遊戲! – 2012-07-30 08:44:40

+0

很高興我可以幫助:) – Nermeen 2012-07-30 08:46:23

+0

而不是使用YouActivity.this,你也可以使用getBaseContext();這真的是有這種方法afaik的原因。 – 2012-07-30 08:46:24

0

正如你所說,你正試圖從一個ListView啓動一個意圖。在你的代碼中,這意味着列表視圖。這就是錯誤信息所說的。您需要使用以下任何方法使用您的軟件包名稱。

  1. Intent intent = new Intent({package_name}, Profileviewer.class);
  2. Intent intent = new Intent(Profileviewer.this, Profileviewer.class);
1

我想你忘記了在AndroidManifest.xml中添加一個新的活動。