首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:我应该使用什么代码将保存的数据从MainActivity.java启动到它自己的信息页面?

Android:我应该使用什么代码将保存的数据从MainActivity.java启动到它自己的信息页面?
EN

Stack Overflow用户
提问于 2017-03-10 14:04:50
回答 3查看 40关注 0票数 1

对于我正在构建的应用程序,它将从我的数组中随机选择一家餐厅(randomResturantName),并将其与toast一起打印。

我如何才能让用户点击弹出窗口转到另一个java页面,在那里我可以看到所选的餐厅名称和其他信息?

What my toast prints out

我的代码:

代码语言:javascript
运行
复制
    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

代码语言:javascript
运行
复制
public class chaCha {

private Intent getIntent;
Bundle bundle = getIntent.getExtras();
String randomRestaurantName = bundle.getString("KEY");

}

EN

回答 3

Stack Overflow用户

发布于 2017-03-10 14:13:32

创建意图并通过它传递数据,如下所示:

代码语言:javascript
运行
复制
Intent intent = new Intent(thisClass.this,NextClass.class);
intent.putExtra("KEY",RestaurentName);
startActivity(intent);

在下一个类中,接收意图并获取额外的内容,如下所示:

代码语言:javascript
运行
复制
Bundle bundle = getIntent.getExtras();
String RestaurentName = bundle.getString("KEY");
票数 0
EN

Stack Overflow用户

发布于 2017-03-10 14:28:50

使用Notifications,您无法与Toast进行交互。然后将Intent (包装在PendingIntent中)设置为该Notification对象,并在Intent附加文件中传递餐厅名称和其他信息。

构建通知就像(从Google Dev Site)一样简单:

代码语言:javascript
运行
复制
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. (也是免费的)。

票数 0
EN

Stack Overflow用户

发布于 2017-03-10 19:58:48

您不能单击Toast message。单击单选按钮时最好使用弹出窗口,而不是TOAST。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42711384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档