2011-11-08 80 views
0

我有一個應用程序從數據庫獲取信息,並動態創建ImageButtons。我想要的是,當我點擊動態創建的ImageButton時,我希望它在我的數據庫中進行搜索(我知道該怎麼做),然後用動態創建的新ImageButton創建一個新的活動(或屏幕)。動態創建新的「屏幕」

我該怎麼做?

回答

0

沒有在清單文件中聲明它們不能創建活動的Android開發者文檔。您可以在創建新佈局後調用setContentView(我不推薦這個)。

或者使用viewflipper並將不同的佈局作爲孩子添加到它。所以你可以使用viewflipper在佈局之間切換。

+0

謝謝@blessenm。你的答案有訣竅...非常感謝! –

+0

Hello again @blessenm。呃...我遵循你的建議和它的工作很好,但我有另一個問題,你能幫助我嗎?我發佈了一個單獨的線程...我不想混淆其他人新的問題與ViewFlipper有關,我想。看看這篇文章:http://stackoverflow.com/questions/8059670/viewflipper-messed-with-my-layouts。非常感謝您的幫助!=) –

0

最好的辦法是閱讀Intents如何被用於啓動一項新的活動

An Intent object is passed to Context.startActivity() or 
Activity.startActivityForResult() to launch an activity or 
get an existing activity to do something new. 
(It can also be passed to Activity.setResult() to return 
information to the activity that called startActivityForResult().) 
+0

你好@Rajdeep Dua正如我上面所說我不想發起一個活動或獲得一個現有的活動去做一些新的事情。據我所知,所有活動都必須在AndroidManifest.xml中,我需要的是創建新的活動,屏幕或視圖......我不知道最佳名稱/解決方案是什麼。我應該創建他們dinamically,然後只是setContentView? –

0
ImageButton imagebutton=new ImageButton(this); 
imagebutton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      getDataFromDataBase();//In this method you get data from database 
      Intent intent=new Intent(currentactivity.this,newactivity.class);//start new screen.. in this you can create imagebutton dynamically 
      startActivity(intent); 
      finish(); 

     } 

}); 
+0

你好@deepa ......感謝你的幫助......看起來它會起作用......但是,我如何將創建的佈局與這個新創建的活動聯繫起來?請問這個活動「newactivity.class必須在AndroidManifest.xml中嗎? –

0

只需執行onCreate中的代碼(將其包裝在init(Params param)方法中),然後在onClickListener中調用該代碼。當然不包括setContentView和findViewById的。