2011-12-03 127 views
1

下面的代碼給了我一個錯誤這段代碼爲什麼給我一個錯誤?

public class SuperImage3Activity extends Activity 
{ 

    ImageView image1, image2; 

    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     image1 = (ImageView)findViewById(R.drawable.sourceimage1); // error here 

     image2 = (ImageView)findViewById(R.drawable.sourceimage2); // error here 

    } 

我的確創建了一個名爲繪製和放置sourceimage1.jpg和sourceimage2.jpg目錄中的目錄。

通過Eclipse中給出的建議是,

「作爲ADT 14時,資源領域(如哆啦A夢)不再常量庫中的對象定義時, 這是必要的,使庫項目可重複使用而無需重新編譯它們。這一

一個後果是,你不能再在switch語句中使用的字段directinly。 您必須使用的if-else鏈,而不是 「

回答

2
R.id.imageview1 
R.id.imageview2 

您已經在res/layout中創建了Xml佈局,您可以從中鏈接您的小部件或視圖或任何其他控件,或者可以動態地製作控件。這樣

ImageView imageView1=new ImageView(this); 
imageView1.setImageResource(R.drawable.sourceimage1); 
+3

findViewyId表示XML佈局中的控件ID,因此您必須給出控件的標識而不是它的iamge資源。謝謝 – SALMAN

+2

http://www.higherpass.com/Android/Tutorials/Working-With-Images-In-Android/你可以看看這個例子 – SALMAN

+2

而不是評論你自己的答案,考慮修改答案主體。 –

0

findViewById用來取景那已經是你調用的方法(通常是一個活動)視圖的一部分

基本上它的工作方式是:(按順序)

  1. 首先你設計佈局(在一個XML佈局文件,或在程序上)列出所有組件和所需的位置。
  2. 您分配一個ID,你感興趣的(使用在你的XML android:id="@+id/your_id_here",或setId(XX)如果您的佈局編程方式)的資源
  3. 您此佈局設置爲您的活動或作爲現有組件的子(通常與setContentView
  4. 現在你可以使用預定義的標識使用findViewById在2

findViewById是與資源本身作爲一個參數(你的繪製對象)使用

相關問題