【问题标题】:Multiple checkbox information is displayed in another activity when checked选中时在另一个活动中显示多个复选框信息
【发布时间】:2014-03-07 05:34:44
【问题描述】:

我们的问题是我们需要制作某种菜单,在第一个活动中有一个带有复选框的食物列表。

我们想要做的是当点击onClickmeal_ok按钮时,被选中的复选框中的信息将显示在另一个活动中。

这是我们的 .xml 文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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"
android:background="#ffff"
tools:context=".MainMenu" >


<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="@string/dessertsmenu"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_marginRight="27dp"
    android:text="@string/meal_ok"
    android:onClick="onClickmeal_ok" />

<CheckBox
    android:id="@+id/chkAutosave3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/chkAutosave1"
    android:layout_below="@+id/chkAutosave1"
    android:defaultValue="false"
    android:text="@string/peachcrumbbars"
    android:onClick="onClickpeachcrumbbars_ok"  />

<CheckBox
    android:id="@+id/chkAutosave4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/chkAutosave3"
    android:layout_below="@+id/chkAutosave3"
    android:defaultValue="false"
    android:text="@string/snickerysquares"
    android:onClick="onClicksnicjerysquares_ok"  />

<CheckBox
    android:id="@+id/chkAutosave1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginLeft="22dp"
    android:layout_marginTop="18dp"
    android:defaultValue="false"
    android:text="@string/blackberrypiebars"
    android:onClick="onClickblackberrypiebars_ok"  />

这是我们的 .java 文件:

package net.xadtv.yoursmenu;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class DessertsMenu extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.desserts);
}

public void onClickblackberrypiebars_ok(View view) {

}
public void onClickpeachcrumbbars_ok(View view) {

}
public void onClicksnicjerysquares_ok(View view) {

}
public void onClickmeal_ok(View view) {
    }
}

【问题讨论】:

  • 如果您向社区提供一些关于当前代码问题的见解,您可能会有更好的机会获得帮助。您收到任何错误消息吗?如果是这样,请用它更新您的问题。
  • 嗯。代码上没有特别的错误。我真的很想学习并知道如何在选中复选框并单击“确定”按钮时在下一个活动中显示该复选框的文本或详细信息。假设复选框名称是布丁,然后选中它,然后单击“确定”按钮。所以“布丁”文本应该显示在下一个活动中:)

标签: android checkbox android-activity checkboxlist


【解决方案1】:

要在活动之间传递数据,请使用 Intent extra,

public void onClickmeal_ok(View view)
{
Intent i = new Intent("com.example.activityname");
i.putExtra("extra1", "this is an extra");
i.putExtra("extra2", 420);
} 

您也可以使用 Bundle 一次放置多个项目

public void onClickmeal_ok(View view)
{
Intent i = new Intent("com.example.activityname");
Bundle extras = new Bundle();
extras.putInt("extra4", 420);
i.putExtras(extras);
} 

然后你可以使用检索数据

String stringExtra1 = getIntent().getString("extra1");

或检索整个捆绑包

Bundle bundle = getIntent().getExtras();

【讨论】:

  • 哇。谢谢。但是我们可以在新的 .xml 文件中添加什么来显示选中的复选框?示例第一个复选框名称是可乐,第二个复选框名称是百事可乐。如果检查了可乐,我们希望显示新的 .xml 文件:订单列表:可乐对不起,我们对这东西真的很陌生^^
  • 我会在第二个活动的 .java 文件的 OnCreate 方法中执行此操作,检索您的附加内容并检查您的值,然后使用您需要的任何内容加载列表
猜你喜欢
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多