Android: app crashing after launch activity : <p>I have this app but for some reason I can't get it to work past the launch screen. After a user clicks an item on the listview it generates a random int in the activity and based on that changes the textView. If the user's input matches the right .contains strings it'll print out a toast.
Here is the launch activity:
    package com.eoincoogan.owner.omegaphi;</p>

<pre><code>import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
 import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class LaunchActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_launch);

    ListView lv = (ListView) findViewById(R.id.subjectListView);

    String[] subjectArray = new String[]{"Physics","Chemistry","Economics", "Geography"};

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, subjectArray);
    lv.setAdapter(adapter);

    lv.setOnItemClickListener(
            new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id) {


                    if (position == 0) {
                        Intent intent = new Intent(LaunchActivity.this, PhysicsFragment.class);
                        startActivity(intent);
                    } else if (position == 1) {
                        Intent intent = new Intent(LaunchActivity.this, ChemFragment.class);
                        startActivity(intent);
                    } else if (position == 2) {
                        Intent intent = new Intent(LaunchActivity.this, EconFragment.class);
                        startActivity(intent);
                    } else if (position == 3) {
                        Intent intent = new Intent(LaunchActivity.this, GeoActivity.class);
                        startActivity(intent);
                    }

                }
            }


    );

}


}
</code></pre>

<p>Here is the activity after the LaunchActivity:
    package com.eoincoogan.owner.omegaphi;</p>

<pre><code>import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Random;


public class PhysicsFragment extends AppCompatActivity {

private TextView definitionTextView = (TextView) findViewById(R.id.definitonTextView);
String definitionText = definitionTextView.getText().toString();


private EditText userInputText = (EditText) findViewById(R.id.userInputText);
String userInput = userInputText.getText().toString();

Random rand = new Random();
int value = rand.nextInt(3);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_physics_fragment);

    Button button = (Button)findViewById(R.id.button);
    Button buttonTwo = (Button)findViewById(R.id.button2);

    final Toast firstToast = Toast.makeText(this, "Correct", Toast.LENGTH_LONG);
    final Toast secondToast = Toast.makeText(this, "Correct", Toast.LENGTH_LONG);


    button.setOnClickListener(
            new Button.OnClickListener() {
                public void onClick(View v) {
                    switch (value) {
                        case 0:
                            definitionText = "Diode";

                            if (userInput.contains("Current" + "one way" + "allows")) {
                                firstToast.show();
                            } else {
                                secondToast.show();
                            }

                        case 1:
                            definitionText = "First law of refraction";

                            if (userInput.contains("insidence" + "normal" + "refracted" + "ray")) {
                                firstToast.show();
                            } else {
                                secondToast.show();
                            }

                        case 2:
                            definitionText = "Second law of refraction";

                            if (userInput.contains("angle" + "incidence" + "reflection" + "equal")) {
                                firstToast.show();
                            } else {
                                secondToast.show();
                            }

                    }

                    Intent intent = getIntent();
                    finish();
                    startActivity(intent);
                }
            }
    );

    //button to launch screen//

    buttonTwo.setOnClickListener(
            new Button.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Intent myIntent = new Intent(PhysicsFragment.this, LaunchActivity.class);
                    startActivity(myIntent);

                }
            }
    );
}





@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_driver, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}
</code></pre>

<p>Any help would be much appreciated.</p>
