我在片段内有一个复选框,我希望它在单击注册按钮时发布一些数据,该按钮位于我的主要活动内?

2024-04-05

我第一次在片段中工作...在主要活动中,我有一个 spinnerListner ,随着微调器中的项目发生变化,在片段容器中...片段相应地发生变化,我刚刚在fragment.xml 文件中创建了一些复选框。 .我只想在每次注册点击时为每个选中的复选框发布并存储不同的值“NameoftheCheckbox”,并为每个未选中的复选框(甚至来自未在容器中显示的片段)发布和存储另一个值“Null”。就像我尝试在主要活动中通过 RegisterUser 函数存储名称和 pin 的方式...

我的主要活动

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private EditText et_Name, et_Pin;
    private Button RegisterBTN;
    private ProgressDialog progressDialog;

    private CheckBox checka, checkb;

    private Spinner sDropdown;
    ArrayAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        et_Name = (EditText)findViewById(R.id.etName);
        et_Pin = (EditText)findViewById(R.id.etPin);

        checka = (CheckBox)findViewById(R.id.checkBox_a);


        RegisterBTN = (Button)findViewById(R.id.btn_Reg);

        progressDialog = new ProgressDialog(this);
        //progressDialog.setMessage();

        adapter = ArrayAdapter.createFromResource(this, R.array.spinner_options, android.R.layout.simple_spinner_item);

        spinnerListner();

        RegisterBTN.setOnClickListener(this);


    }

    public void spinnerListner(){
        sDropdown = (Spinner)findViewById(R.id.spinner2);
        sDropdown.setAdapter(adapter);
        sDropdown.setOnItemSelectedListener(
                new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        switch (position){
                            case 0:
                               getSupportFragmentManager().beginTransaction().replace(R.id.frag, Info_frag.newInstance()).addToBackStack(null).commit();
                                break;
                            case 1:
                               getSupportFragmentManager().beginTransaction().replace(R.id.frag, Plumber_frag.newInstance()).addToBackStack(null).commit();
                                break;
                            case 2:
                                getSupportFragmentManager().beginTransaction().replace(R.id.frag, Painter_frag.newInstance()).addToBackStack(null).commit();
                                break;
                            case 3:
                                getSupportFragmentManager().beginTransaction().replace(R.id.frag, Electrician_frag.newInstance()).addToBackStack(null).commit();
                                //Toast.makeText(MainActivity.this,"F3", Toast.LENGTH_SHORT).show();
                                break;
                        }

                        /**
                         * TextView spinnerDailogText = (TextView)view;
                        Toast.makeText(MainActivity.this, "You selected:"+ spinnerDailogText.getText(), Toast.LENGTH_SHORT).show();*/
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                }
        );
    }


    private void registerUser(){
        final String name = et_Name.getText().toString().trim();
        final String pin = et_Pin.getText().toString().trim();

        progressDialog.setMessage("Registering please wait...");
        progressDialog.show();

        StringRequest stringRequest = new StringRequest(Request.Method.POST,
                Constants.REGISTER,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        progressDialog.dismiss();

                        try {
                            JSONObject jsonObject = new JSONObject(response);
                            Toast.makeText(getApplicationContext(), jsonObject.getString("message"), Toast.LENGTH_LONG).show();
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        progressDialog.hide();
                        Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
                    }
                }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("reg_name", name);
                params.put("reg_pin", pin);
                return params;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }

    @Override
    public void onClick(View v) {

        if (v == RegisterBTN);
            registerUser();

    }
}

我的 FragmentActivity

public class Electrician_frag extends Fragment {

    public static Electrician_frag newInstance() {
        Electrician_frag fragment = new Electrician_frag();
        return fragment;
    }

    public Electrician_frag(){

    }

      @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootview = inflater.inflate(R.layout.fragment_electrician, container, false);
          return rootview;
    }

}

另一个片段活动

public class Painter_frag extends Fragment {

    public static Painter_frag newInstance(){
        Painter_frag fragment = new Painter_frag();
        return fragment;
    }

    public Painter_frag(){

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootview = inflater.inflate(R.layout.fragment_painter, container, false);
        return rootview;
    }
}

我的 PainterFragment.xml

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white">

        <CheckBox
            android:id="@+id/checkBox_x"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="124dp"
            android:layout_marginStart="124dp"
            android:text="@string/a"
            android:textSize="20sp"
            android:textStyle="bold" />

        <CheckBox
            android:id="@+id/checkBox_y"
            style="@android:style/Widget.Holo.Light.CompoundButton.CheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="70dp"
            android:layout_marginStart="70dp"
            android:layout_toEndOf="@+id/checkBox_x"
            android:layout_toRightOf="@+id/checkBox_x"
            android:text="@string/b"
            android:textSize="20sp"
            android:textStyle="bold" />

    </RelativeLayout>
</FrameLayout>

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在片段内有一个复选框,我希望它在单击注册按钮时发布一些数据,该按钮位于我的主要活动内? 的相关文章

随机推荐

  • jQuery ajax 和 SSL?

    在我们的网站中 某些页面使用 SSL 但大多数页面没有 因为它们需要由网络机器人抓取 它几乎可以归结为用户登录的任何页面 除了少数例外是在 SSL 下 但用户首先必须从非 https 页面登录 登录表单是从任何页面屏幕顶部掉落的表单 So
  • 如何将materialButton图标设置到中心

    我在用supportLibrary 28 0 0 beta01 版本 这是我在 xml 文件中的代码
  • Vim 折叠:如何隐藏所有不包含搜索模式的单行(或折叠零行)?

    我有一些文本文件 它们只是没有段落的列表 当我想专注于某个项目时 我可以折叠除搜索匹配项之外的所有内容 这要归功于 Vim Wikia 提示 282 简单折叠 set foldexpr getline v lnum nnoremap
  • Web 声卡检测

    我们需要一些关于业余爱好网络项目的提示 在此阶段 我们要检测客户端的声卡并将来自声卡的任何内容引导到服务器以处理音频 低延迟对我们来说是一个重要问题 因此 我们需要您对使用的语言 库等的建议 如果你能给我们一些大局的信息 那么我们就可以自己
  • git 报告合并冲突,没有任何更改,空行(使用 git-subtree)

    我正在测试使用git 子树 https github com apenwarr git subtree将库存储库合并到更大的项目中 原则上看起来很棒 有时 当我执行 git subtree pull 时 我会遇到如下合并冲突 lt lt l
  • Windows 7 .net Excel .SaveAs() HRESULT 错误异常:0x800A03EC

    背景 我在工作中为我的旧硬盘干杯 现在正在买一个新硬盘 这样我就必须重建我的机器 我的经理在他借用的笔记本电脑上安装了 Windows 7 在我的机器无法使用时我一直在使用这台笔记本电脑 但我遇到了一个问题 我们有相当多的应用程序使用 Mi
  • 我可以使用 git 提交文件,但在执行 git svn dcommit 时自动忽略它吗?

    我现在开始在 SVN 办公室采用 Git 作为我的个人工作流程 因此 git svn 是我将严重依赖的工具 我遇到的一个我不知道如何解决的问题是如何在一个方向上忽略 对我来说 具体的用例是我们的 ant 构建文件引用 svn 和 svnve
  • 具有相同列和索引的多个数据帧的平均值

    我有一些数据框 它们每个都有相同的列和相同的索引 对于每个索引 我想对每列中的值进行平均 如果这些是矩阵 我只需将它们相加并除以矩阵数量 这是一个例子 v1 pd DataFrame ind1 1 2 3 ind2 4 5 6 column
  • 适用于 Mac 的 C IDE 好用吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我刚刚开始在 Mac 上用 C 进行编程的工作 这是我第一次使用 Mac 进行开发 现在我使用 Xcode 作为编辑器 然后在命令行中使用
  • React-native 和 React

    我正在构建一个网络应用程序和 ios android 相同的应用程序 起初我认为 Cordova 可能是一个不错的选择 但读完之后我认为 React native 可能是一个更好的选择 我的问题是 我是否必须编写同一个应用程序两次 一次在
  • #include 导致错误

    VS 2010 C CLR 库项目 添加 comutil h 库时出错 gt Error 20 error LNK2001 unresolved gt external symbol extern C long gt stdcall Var
  • PostgreSQL - 动态值作为表名[重复]

    这个问题在这里已经有答案了 可能的重复 Postgres动态查询功能 https stackoverflow com questions 10639963 postgres dynamic query function 我希望使用下面的查询
  • 如何确定 Pandas 列是否包含特定值

    我试图确定 Pandas 列中是否有具有特定值的条目 我尝试这样做if x in df id 我认为这是有效的 除非我给它提供了一个我知道不在列中的值43 in df id 它仍然返回True 当我子集为仅包含与缺少的 id 匹配的条目的数
  • 服务器删除自定义 HTTP 标头字段

    我一直在尝试接收标头中带有自定义字段的 HTTP 请求 但似乎我的服务器删除了它们 这是我发送到服务器的请求 我使用 HTTP 代理读取该请求 POST oauth php request token HTTP 1 1 Host domai
  • Xbox 上的 UWP 应用

    在围绕 Windows 10 的活动和促销期间 我总是看到 UWP 应用程序可以在 Microsoft 系列的所有设备上运行 为了确认这一点 当我在浏览器上浏览 UWP 应用程序并单击以查看应用程序页面的源代码时 我能够看到以下元数据 那
  • MPAndroidChart:带有三次贝塞尔曲线的折线图显示错误(尖峰和循环)

    我正在尝试制作带有立方图的折线图 结果如下面的屏幕截图所示 三次贝塞尔曲线显示错误并且有 尖峰 有人可以帮我让它正确显示吗 这是我的配置 LineDataSet lineDataSet new LineDataSet entries nam
  • 如何更新 xml 文件而不将整个文件加载到内存中

    我们如何更新 xml 文件而不将其完全加载到内存中 在下面的代码中 我想浏览每个父节点注释并更新 to 节点的值 我们如何使用 C 来实现这一点 我必须根据代码中的其他一些计算来更新 to 字段
  • 以编程方式连接两个子系统

    我正在尝试以编程方式重用我之前开发的一些自定义块 模型来构建一个复杂的模型 但我无法设法连接两个 PMC Port 这就是我所拥有的 Main system sys name model sys new system sys name op
  • 是否可以使用连续传递样式将此递归函数转换为尾递归函数?

    我最近写了一个ETL 效果很好 我想提醒自己如何使用免费的 monad 因此想将我的 ETL 转换为这样的 注意 我的目的不是写一个更好的 ETL 而是让自己重新熟悉免费的 monad 在重新学习自由单子如何工作时 我偏离了这个问题的主题
  • 我在片段内有一个复选框,我希望它在单击注册按钮时发布一些数据,该按钮位于我的主要活动内?

    我第一次在片段中工作 在主要活动中 我有一个 spinnerListner 随着微调器中的项目发生变化 在片段容器中 片段相应地发生变化 我刚刚在fragment xml 文件中创建了一些复选框 我只想在每次注册点击时为每个选中的复选框发布