对于我正在构建的应用程序,它将从我的数组中随机选择一家餐厅(randomResturantName),并将其与toast一起打印。
我如何才能让用户点击弹出窗口转到另一个java页面,在那里我可以看到所选的餐厅名称和其他信息?
我的代码:
private void pickRestaurant(int checkedRadioButtonId) {
Random r = new Random();
int randomNumber = -1;
switch (checkedRadioButtonId) {
case R.id.Asian:
randomNumber = r.nextInt(6-1)+1 ;
//1-6
break;
case R.id.middle_eastern:
randomNumber = r.nextInt(9-7) +7 ;
break;
case R.id.Pizza:
randomNumber = r.nextInt(11) + 6;
break;
}
if (DEBUG) Log.i(TAG, "Random number to pick restaurant is: " + randomNumber);
String randomRestaurantName = resArray.get(randomNumber).getName();
Toast toast = null;
if (randomNumber < 0) {
toast = Toast.makeText(myContext, "Select from one of the following:",
Toast.LENGTH_SHORT);
} else {
toast = Toast.makeText(myContext, "Today you will eat at "
+ randomRestaurantName , Toast.LENGTH_LONG);
}
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
Intent intent = new Intent(MainActivity.this,chaCha.class);
intent.putExtra("KEY",randomRestaurantName);
startActivity(intent);
}chaCha.java
public class chaCha {
private Intent getIntent;
Bundle bundle = getIntent.getExtras();
String randomRestaurantName = bundle.getString("KEY");}
发布于 2017-03-10 14:13:32
创建意图并通过它传递数据,如下所示:
Intent intent = new Intent(thisClass.this,NextClass.class);
intent.putExtra("KEY",RestaurentName);
startActivity(intent);在下一个类中,接收意图并获取额外的内容,如下所示:
Bundle bundle = getIntent.getExtras();
String RestaurentName = bundle.getString("KEY");发布于 2017-03-10 14:28:50
使用Notifications,您无法与Toast进行交互。然后将Intent (包装在PendingIntent中)设置为该Notification对象,并在Intent附加文件中传递餐厅名称和其他信息。
构建通知就像(从Google Dev Site)一样简单:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon) // set icon
.setContentTitle("Random Restaurant")
.setContentText(randomRestaurantName);
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify(mNotificationId, mBuilder.build());如何处理点击通知,already an answer.也是如此
你也可以使用Dialog,但是你必须编写更多的代码和处理更多的东西,比如Dialog按钮的侦听器,或者如果是自定义的Dialog,布局等等。这是Dialogs的官方教程文档。
转发我的评论来强调这个建议:
通过上面的讨论,我建议你参加一个免费的课程,这将帮助你从New Boston开始开发安卓应用程序,如果你真的对开发安卓应用程序感兴趣,你可以关注Udacity's Android Beginner's course designed by Google. (也是免费的)。
发布于 2017-03-10 19:58:48
您不能单击Toast message。单击单选按钮时最好使用弹出窗口,而不是TOAST。
https://stackoverflow.com/questions/42711384
复制相似问题