在其他方法中使用setBackgroundResource?

在其他方法中使用setBackgroundResource?

问题描述:

我在我的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不能被解析为变量...

集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

你需要把视图在你的函数的参数:

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); 

反正你或许应该以学习编码的基础上读一些代码教程。

ImageView field1;  

设置ImageView的,因为它可以用整个类的使用