// LongClick Problem Solution // Source code file: MainActivity.java package it372.testlongclick; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Add LongClick event handler to button Button btnClickMe = (Button) findViewById(R.id.btn_clickme); btnClickMe.setOnLongClickListener( new LongClickHandler( )); } // Click event handler set by onClick attribute in button. public void onClick(View view) { showToast("Click event occurred.", 100); } // Private inner class for LongClick event handler private class LongClickHandler implements View.OnLongClickListener { @Override public boolean onLongClick(View view) { showToast("LongClickEvent occurred.", 300); return false; } } // Method to show a toast at specified y height. public void showToast(String stringToShow, int yPos) { Toast toast= Toast.makeText(getApplicationContext(), stringToShow, Toast.LENGTH_LONG); // Set position to show toast. toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, yPos); toast.show(); } }