2015-01-18 2 views
0

В приложении, которое я делаю, я хочу, чтобы часть кода запускалась только при первом открытии операции.Сделайте кусок кода запуска, только когда активность открывается в первый раз

Например, я открываю свое приложение, а затем в первый раз нажимаю на активность животных. Этот код должен работать

stringListCounter = randInt(0, 100); 

Код происходит здесь:

// What Happens When Activity Starts// 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_animals); 

    // What Number List Starts At// 
    stringListCounter = randInt(0, 100); 

    // Grab Audio And Convert// 
    audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

    // Link Button Team One to Activity_Animals// 
    t1 = (Button) findViewById(R.id.Team1); 
    t1.setEnabled(false); 
    t1.setOnClickListener(this); 

    // Link Button Number One to Activity_Animals// 
    number1 = (TextView) findViewById(R.id.Number1); 
    number1.setText(String.valueOf(Category.team_one)); 

    // Link Button Number Two to Activity_Animals// 
    number2 = (TextView) findViewById(R.id.Number2); 
    number2.setText(String.valueOf(Category.team_two)); 

    // Link Button Team Two to Activity_Animals// 
    t2 = (Button) findViewById(R.id.Team2); 
    t2.setEnabled(false); 
    t2.setOnClickListener(this); 

    // Link TextView Timer to Activity_Animals// 
    Timer = (TextView) findViewById(R.id.Timer); 

    // Link Button Next to Activity_Animals// 
    next = (Button) findViewById(R.id.Next); 
    next.setOnClickListener(this); 

    // Link TextView Word to Activity_Animals// 
    word = (TextView) findViewById(R.id.Word); 

    // Create Media Player// 
    mp = MediaPlayer.create(getApplicationContext(), R.raw.beep1); 

    // Create Media Player 2// 
    mp2 = MediaPlayer.create(getApplicationContext(), R.raw.gj); 

} 

Тогда теперь пересылает этот код не должен работать, пока приложение не будет полностью разрушен. Поэтому в основном этот кусок кода должен запускаться один раз при открытии приложения. Это действительно запутывает, чтобы объяснить, поэтому, если вы не понимаете, что я пытаюсь объяснить другим способом. Спасибо.

+0

поставить этот код в OnCreate of activity – Jamil

+0

Он есть, код будет запускаться каждый раз, когда активность открывается. Я хочу, чтобы этот фрагмент кода запускался один раз. Затем не запускайте, пока приложение не будет полностью открыто – Jordan

ответ

0

Есть несколько способов добиться этого. Например, вы можете поместить этот код в класс onCreate класса, расширяющего Application, и создать в поле, в которое вы поместите это целое число, getter/setter (или, если хотите, публичное поле).

public class MainApplication extends Application { 
    public String[] mStringListCounter; 

    @Override 
    public void onCreate() { 
     mStringListCounter = randInt(0, 100); 
    } 
} 

А затем получить результат в других классах:

int stringListCounter = ((MainApplication)getApplication()).mStringListCounter; 

EDIT: Естественно, вы должны объявить свое имя активности приложений в AndroidManifest.xml:

... 
<application 
    android:name=".MainApplication" 
... 
Смежные вопросы