Как показать всплывающие сообщения в Android после лонгклика
У меня простой вопрос, я новичок в Android и мне интересно, как я могу показать пользователю простое сообщение после долгого нажатия на одну из следующих кнопок. Идея состоит в том, чтобы показать пользователю пароль, который он использует на каждом из сайтов после долгого клика. Есть идеи? Заранее спасибо;)
public class MainMenu extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_menu);
setTitle("Main Menu");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, 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();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public void openWeb1(View v){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.ljmu.ac.uk/")));
}
public void openWeb2(View v){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.bbc.co.uk")));
}
public void openWeb3(View v){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com")));
}
public void openWeb4(View v){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.adidas.com")));
}
public void openWeb5(View v){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackru.com")));
}
public void addNew(View v){
}
}
The XML code:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:id="@+id/GridView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="net.androidbootcamp.myunimanager.MainMenu" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android1:id="@+id/btnLJMU"
android1:layout_width="290dp"
android1:layout_height="76dp"
android1:drawableRight="@drawable/profile"
android1:onClick="openWeb1"
android1:text="Liverpool JMU" />
<Button
android1:id="@+id/btnBBC"
android1:layout_width="match_parent"
android1:layout_height="76dp"
android1:drawableRight="@drawable/contacts"
android1:onClick="openWeb2"
android1:text="BBC News" />
<Button
android1:id="@+id/btnFACEBOOK"
android1:layout_width="match_parent"
android1:layout_height="76dp"
android1:drawableRight="@drawable/courses"
android1:onClick="openWeb3"
android1:text="facebook" />
<Button
android:id="@+id/btnADIDAS"
android:layout_width="112dp"
android:layout_height="0dp"
android:drawableRight="@drawable/calendar"
android1:onClick="openWeb4"
android1:text="adidas" />
<Button
android1:id="@+id/btnSTACKOVERFLOW"
android1:layout_width="match_parent"
android1:layout_height="76dp"
android1:drawableRight="@drawable/notes"
android1:onClick="openWeb5"
android1:text="StackOverFlow" />
<Button
android1:id="@+id/btnADDNEW"
android1:layout_width="match_parent"
android1:layout_height="78dp"
android1:onClick="addNew"
android1:drawableRight="@drawable/myuni"
android1:text="Add New" />
</LinearLayout>
</ScrollView>*
1 ответ
Решение
Есть LongClickListener для кнопки. Внутри него вы можете выполнить соответствующее действие, показав всплывающее окно.
button.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
return true;
}
});
Проверьте следующее, чтобы узнать о том, как создавать всплывающие сообщения.
Надеюсь это поможет!