为了账号安全,请及时绑定邮箱和手机立即绑定

为 TextView 赋值时的空值

为 TextView 赋值时的空值

墨色风雨 2023-03-17 14:08:52
我已经研究这个问题好几个小时了。我很确定我正确地将值 saveLeagueId 分配给了 TextView。我想要做的是将一个值从 MainActivity 传递到 BowlerActivity。这是我的代码,它使用意图传递值;@Override            public void onClick(View view, final int position) {                int leagueId = leaguesList.get(position).getId();                String savedLeagueId = String.valueOf( leagueId );                Intent myIntent = new Intent(MainActivity.this, BowlerActivity.class);                Log.d("Passing League Id ", "Passed Value is " + leagueId);                myIntent.putExtra("leagueId", savedLeagueId);                startActivity(myIntent);                overridePendingTransition(0, 0);            }我可以看到它实际上是将值传递给 BowlerActivity2019-07-09 20:47:06.694 8596-8596/ca.vogl.r.tenpinbowlingcompanion D/Passing League Id: Passed Value is 22019-07-09 20:47:06.777 8596-8596/ca.vogl.r.tenpinbowlingcompanion D/GETALLBOWLERS-SQL: SQL used = >>>>SELECT  * FROM bowlers WHERE league_id = 'null' ORDER BY timestamp DESC<<<<2019-07-09 20:47:06.785 8596-8596/ca.vogl.r.tenpinbowlingcompanion D/GETALLBOWLERS-CNT: Number of rows retrieved = 02019-07-09 20:47:06.786 8596-8596/ca.vogl.r.tenpinbowlingcompanion D/GETALLBOWLERS-CNT: Number of elements in bowlerslist = 02019-07-09 20:47:06.786 8596-8596/ca.vogl.r.tenpinbowlingcompanion D/SAVEDLEAGUEID --->: 2但是,当我尝试将值传递给名为 leagueId 的 TextView 时,它为空。
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

正如我注意到的,您的 Dialog 窗口中有leagueIdtextView。因此,请确保您的布局文件tvLeagueId中有一个带有 id的 textView activity_bowlers_dialog。


然后在你的openDialog函数中使用view.findViewById引用 textview


public void openDialog(final boolean shouldUpdate, final Bowler bowler, final int position) {

        LayoutInflater layoutInflaterAndroid = LayoutInflater.from(getApplicationContext());

        View view = View.inflate(this, R.layout.activity_bowlers_dialog, null);


        leagueId = view.findViewById(R.id.tvLeagueId); // <-- Add this line


        AlertDialog.Builder alertDialogBuilderUserInput = new AlertDialog.Builder(BowlerActivity.this);

        alertDialogBuilderUserInput.setView(view);


        leagueId.setText(savedLeagueId);

        final EditText inputBowler = view.findViewById(R.id.etBowlerName);


        // rest of the code


查看完整回答
反对 回复 2023-03-17
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

它与如何从返回 null 的 findViewById 中获取 TextView 的意图没有任何问题。

java.lang.NullPointerException:尝试在* 空对象引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)” *


查看完整回答
反对 回复 2023-03-17
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信