-1

我有一个名为“func()”的函数。我想在应用程序启动时运行此功能而不单击任何按钮。就在应用程序加载时,我想在该功能中显示按摩。按摩。我只想在应用程序启动时运行该功能,代码将是什么。

public class TextViewActivity extends Activity {
  public static EditText etxt;
public final void func(){
    etxt.setText("Massage");
 }

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
     etxt= (EditText) findViewById(R.id.etxt2);
     }
}
4

4 回答 4

1

Just put a call to the function on the onCreate

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);        
    etxt= (EditText) findViewById(R.id.etxt2);
    func(); //A call to the function.     
}

Hope that helps.

于 2012-08-07T18:41:17.450 回答
0

尝试使用下面的代码..你需要在初始化edittext etxt后调用你的函数。所以它不会导致你NPE

public final void func(){
    etxt.setText("Message");
 }

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     etxt= (EditText) findViewById(R.id.etxt2);
    func();// here your function call. 
     }
于 2012-08-07T18:50:10.800 回答
0

尝试这个:

public class TextViewActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewById(R.id.etxt2).setText("SMTH");
    }
}

如果你真的需要调用一个函数,你可以使用这个:

public class TextViewActivity extends Activity {

    public final void func() {
        findViewById(R.id.etxt2).setText("SMTH");
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        func();
    }
}
于 2012-08-07T22:34:31.490 回答
0

我不建议将应用程序子类化以执行此操作。当应用程序启动时,它将转到主要活动。所以我会说如果它已设置,只需保留一个 SharedPreference 布尔值。如果不显示消息。

所以在这里保持应用程序的状态:http: //developer.android.com/reference/android/content/SharedPreferences.html,只需设置一个布尔值。请记住,当您的应用程序被调用时,活动 onCreate 总是被主活动调用,所以它只是不再调用它的问题。

于 2012-08-07T18:43:27.693 回答