我有一个名为'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);
}
}
答案 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();
}
}