想要在应用程序启动时不单击任何按钮运行功能

时间:2012-08-07 18:38:08

标签: android function android-intent android-activity

我有一个名为'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 个答案:

答案 0 :(得分:1)

只需调用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.     
}

希望有所帮助。

答案 1 :(得分:0)

我不建议继承应用程序以执行此操作。当应用程序启动时,它将转到主要活动。所以我想说如果已经设置了,则保留一个SharedPreference布尔值。如果没有显示消息。

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

答案 2 :(得分:0)

尝试使用下面的代码.. 初始化edittext etxt后需要调用ur函数。所以它不会导致你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. 
     }

答案 3 :(得分: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();
    }
}