2012-07-27 58 views
1

我在我的onCreate法下面的代碼:在其他方法中使用setBackgroundResource?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final ImageView field1 = (ImageView) findViewById(R.id.field1); 
    field1.setBackgroundResource(R.drawable.field0); 

我如何可以設置BackgroundResource像這樣的任何其他方法:

public void setBackground() { 
    field1.setBackgroundResource(R.drawable.field2); 
} 

它說,該字段1不能被解析爲變量...

回答

1

集FIELD1全球之類的,具體如下:在onCreate方法的頂部

ImageView field1=null; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    field1 = (ImageView) findViewById(R.id.field1); 
    field1.setBackgroundResource(R.drawable.field0); 

} 


public void setBackground() { 
    field1.setBackgroundResource(R.drawable.field2); 
} 
+0

謝謝!你幫了我很多:) – Stupe 2012-07-27 09:33:48

0

你需要把視圖在你的函數的參數:

public void setBackground(ImageView view) { 
    view.setBackgroundResource(R.drawable.field2); 
} 

,現在你可以調用它像:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final ImageView field1 = (ImageView) findViewById(R.id.field1); 
    setBackground(field1); 

反正你或許應該以學習編碼的基礎上讀一些代碼教程。

0
ImageView field1;  

設置ImageView的,因爲它可以用整個類的使用