【问题标题】:how to get selected value from listview如何从列表视图中获取选定的值
【发布时间】:2019-07-28 10:58:55
【问题描述】:

我想选择财务名称,点击财务名称后,我想获得相同财务的代码。财务名称列在列表视图中。

我的 Firebase 数据库结构如下:

financeRef.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
            //Map<String, Object> data = (Map<String, Object>) snapshot.getValue();
            String value = new Gson().toJson(snapshot.getValue());
            progressBar.setVisibility(View.GONE);

        try {
            JSONObject object = new JSONObject(String.valueOf(value));
            f = object.getString("Finance Name");
            name = snapshot.getKey();
        } catch (JSONException e) {
            e.printStackTrace();
        }


            financeName.add(f);
            adapter.notifyDataSetChanged();
        }
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Intent intent = new Intent(FinanceNameListActivity.this, CodeAndNameActivity.class);
                String abc = (String) ((TextView) view).getText();
                intent.putExtra("Name",abc);
                startActivity(intent);
                finish();
            }
        });

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }

});

【问题讨论】:

    标签: java android firebase listview firebase-realtime-database


    【解决方案1】:

    从 firebase 获取响应并将其设置为模型调用或 hashmap 或数组,然后由您实现列表视图点击事件或简单点击事件的接口,获取位置并从您设置 firebase 响应的位置获取值。

    【讨论】:

    • 来自公共 void onItemClick(AdapterView> parent, View view, int position, long id) 我可以获得相同的财务名称但我无法获得代码我不知道如何检查来自同一个财务名称。
    • 像设置财务名称一样在数组中设置财务代码。获取财务名称相同位置的财务代码。
    • 如果有人点击财务名称,我不想显示财务代码,然后在下一页我想将相同的代码放入 put extra 并比较 if(code.equals(edittextcode)) 和验证过程将成功。
    • financeName.add(f);financecode.add(你的参数名); intent.putExtra("Name",abc);intent.putExtra("code",financecode.get(postion)): startActivity(intent);结束(); } });
    猜你喜欢
    • 2017-04-18
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多