I know that there are a lot of answers to this question already, but I'm still having trouble dealing with this concept.
An answer found here shows:
If you didn't want to use a global variable you could always create a method in your activity to return your string.
    public String getMyString(){
         return item; } 
Then in your current activity you could call:
    String myValue = LoginScreen.getMyString();
When I try this method, I am returned an error saying "Non-Static method can not be referenced from a static context". However if I make the method static it says that my variable needs to be static, but I need to update the variable. I'll include my code below.
First Activity -
btnSEARCH.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        if (editTextSearch.getText().toString() != null) {
            SearchQueryTerm = editTextSearch.getText().toString();
            editTextSearch.setText("");
        }
    }
});
public String getMyString(){
    return SearchQueryTerm;
}
Second Activity-
String SearchQueryTerm = MainActivity.getMyString();
I truly appreciate any help you can give me in this. Thanks so much!! <3
This is my updated code - however it still crashes :(
Activity 1
public void sendMessageIntent(View view) {
    Intent search_intent = new Intent(this, SearchActivity.class);
    api_intent.putExtra("my_variable", SearchQueryTerm);
    startActivity(search_intent);
}
xml file
 <Button
        android:id="@+id/button_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="View"
        android:onClick="sendMessageIntent"
        />
Activity 2 -
public String SearchQueryTerm
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_enter_variable);
        if (extras != null) {
            SearchQueryTerm = extras.getString("my_variable");
        }
}