関数内のデータの一貫性について少し質問がありonCreate()
ます。私の例をよりよく理解するために:
public class Test extends Activity {
public String isThisConsistent1;
public int isThisConsistent2;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.Test, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.Item_1:
getSomething();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Test);
/*Very, very long taking code like a huge loop */
isThisConsistent1 = ...;
isThisConsistent2 = ...;
}
private void getSomething(){
String test1 = isThisConsistent1;
int test2 = isThisConsistent2;
}
}
だから私の質問は:onCreate()
関数が終了する前に、私の ActionBar のアイテムをクリックすることは可能ですか? getSomething()
その場合、データが関数に設定される前に関数を呼び出すためonCreate()
です。