2013-10-30 22 views
0

我有一個主類稱爲MainActivity.java和其他類Image.javaAndroid基本 - 兩類顯示圖像

沒有什麼花哨

MainAcivity.java

public class MainActivity extends Activity { 

    Image myimage; 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     myimage = new Image(); 
    } 

    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

Image.java

 public class Image extends Activity { 
ImageView image_view; 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
     Bitmap image = BitmapFactory.decodeResource(getResources(),  R.drawable.iguana); 
     image_view = (ImageView)findViewById(R.id.iv); 
     image_view.setImageBitmap(image); 
} 

public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

但是,它從不顯示。 如果我把展示圖片代碼放到我的MainActivity中,它確實有效。 我想我可能不會正確調用Image類。

在我layout.xml

<ImageView 
    android:id="@+id/iv" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView1" 
    android:layout_marginTop="126dp" 
    android:layout_toRightOf="@+id/textView1" /> 

€解決

添加以下代碼到我的MainActivity.class startet的Image.class 謝謝

  Intent intent = new Intent(this, Image.class); 
     startActivity(intent); 
+0

你忘記了startActivity。但是,爲什麼不只是讓Image.java解碼資源並將圖像返回到主類並讓它顯示呢? – LokiSinclair

+1

使您的解決方案成爲答案而不是將其包含在問題文本中。 – krsteeve

回答

3

Image是一個Activity,你hav e以startActivity開頭。沒有必要實例化它,android會爲你處理它

0

它不會顯示,因爲Image#onCreate永遠不會被調用。與new Image()你只是創建該對象,而不是調用Image#onCreate。您需要從MainActivity獲得launch the Image activity。實際上並不需要撥打new Image()

0

你必須在android清單中聲明ImageActivity

+0

我只是做了它,但它仍然無法正常工作。 –