请参阅功能控制

时间:2014-08-07 21:31:05

标签: java android

你必须在这里忍受我,因为我确信这是一直被问到的,但我没有设法搜索它。

如果我有一个最小的Android应用程序,我似乎必须在像onCreate这样的事件中声明我的所有控件,那么我如何在函数中引用这些控件,因为这些控件在应用程序“创建”之前未初始化?

public class MyActivity extends ActionBarActivity {

public void myFunction(){
    myButton.setText("Java is hard")
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    final button myButton = (Button) findViewById(R.id.designerbutton);
}

每次调用函数时,是否必须将控件作为参数传递?这看起来有点笨拙。

2 个答案:

答案 0 :(得分:1)

了解Member variables

  

有几种变量:

     
      
  • 类中的成员变量 - 这些变量称为字段。
  •   
  • 方法或代码块中的变量 - 这些变量称为局部变量。
  •   
  • 方法声明中的变量 - 这些变量称为参数。
  •   
     

Bicycle类使用以下代码行来定义其字段:

public int cadence;
public int gear;
public int speed;
  

字段声明按顺序由三个组件组成:

     
      
  • 零个或多个修饰符,例如public或private。
  •   
  • 该字段的类型。
  •   
  • 该字段的名称。
  •   
     

Bicycle的字段名为cadencegearspeed,并且都是数据类型integer(int)。 public关键字将这些字段标识为公共成员,可由任何可以访问该类的对象访问。

答案 1 :(得分:0)

您可以将其存储为与任何其他Java对象一样的属性

public class MyActivity extends ActionBarActivity {

    private Button myButton;

    public void myFunction(){
        myButton.setText("Java is hard")
    }

   @Override
   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        myButton = (Button) findViewById(R.id.designerbutton);
   }