问题标签 [findviewbyid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
505 浏览

android - 动态填充一个按钮值android

我见过很多例子,其中一个使用 if 条件或 case 语句以编程方式更改元素的条件...... yadda yadda。我需要根据用户单击的内容更改按钮的值。以下是我目前拥有的代码。

我基本上需要知道按下了什么按钮。然后将其动态填充到 findViewById() 函数中。IE

这样,当它到达代码的最后一个 Button 部分时,它将具有用户单击的值。如果我只想在不同的配置中拥有一个按钮或一页一英里深的代码(不理想),那么代码就可以工作。

到目前为止,我看到的所有示例都是在用户单击按钮之后(这是我想要的),但是它们像上面的代码所示静态地命名按钮名称,但非常静态。

希望一切都说得通。

更新:

我想我可能混淆了情况。下面是剩下的代码。希望这将提供上下文。btnOpenPopup 需要保持与在调用中使用的相同,以执行新窗口实际弹出的命令。希望这将为我想要实现的目标提供更多背景信息。

0 投票
1 回答
141 浏览

android - id 的实例化问题

我按照教程来实现计算器。我定义的按钮对象似乎没有被实例化,因为当我在它们上添加侦听器时,它们返回空指针异常。这是java代码:

(我没有链接整个代码,因为 9 个按钮和之后的简单方法仍然相同)。

在这里你可以看到相关的 XML:

logcat 说我在第一个带有 b0 的侦听器声明上有一个 nullPointerException。

感谢你们!

0 投票
3 回答
15528 浏览

android - 静态方法中的 findViewById

我有这个静态方法:

但是,我不知道如何让第一个findViewById玩得很好,因为它说它是一种非静态方法。我理解它为什么这么说,但是必须有解决方法吗?我通过context了这种方法,但无法将它们一起解决。

0 投票
2 回答
5694 浏览

android - findViewById 在片段中返回 null

我在片段中使用 findViewByID 方法时遇到问题。

微调器Spinner spinner = (Spinner) view.findViewById(R.id.tabsearchspinner_location);始终为空。请看下面的代码。

}

布局文件如下(ps:我已经在values/ids.xml文件中声明了id/tabsearchspinner_location):<item type="id" name="tabsearchspinner_location"></item>

任何帮助表示赞赏!

0 投票
1 回答
4209 浏览

android - 嗯?无法在 onReceive() 中调用 findViewById()?

在我的一个课程中,我尝试访问一个视图(在我的主布局中)以响应收到的广播:

问题是 findViewById() 总是返回 null,因此我总是收到 TAG_FAIL 错误消息。

活动的onCreate()中的完全相同的 findViewById(R.id.lin_layout)调用返回所需的结果,所以我知道这不是上面引用的代码中的拼写错误或其他错误。

为什么会这样?

BroadcastReceiver中调用findViewById()是否有限制?

还是其他原因?

0 投票
1 回答
2805 浏览

android - 如果未调用 setcontentview(),为什么 findViewById() 返回 null?

我是安卓的新手。

这是我的 xml 文件 -

和非常基本的代码 -

输出:

findViewById()返回null?为什么?

如果我取消注释setContentView(view)并再次运行..

输出:

额外setContentView()做什么?

0 投票
6 回答
3485 浏览

android - 为什么从 inflate() 返回的根视图与从 findViewById() 返回的视图不匹配?

作为一个新手,我再次难以理解 inflate() 的一些基础知识。

这是我的 xml 文件-

以下是一些基本代码 -

和输出:


我从输出的第一行和第三行了解到,一旦我们调用setContentView()它就会膨胀,因此在调用此方法后视图对象将在内存中。因此在调用findViewById()时,它在代码块中都返回相同的线性布局视图对象。(ly 等于 ly1)

但是,为什么第 2 行输出的 LinearLayout 对象的地址不同, linear layout = android.widget.LinearLayout@41e29740

对此负责的代码是 -

我认为这将返回根视图,在本例中为 LinearLayout。

如果R.layout.activity_main已经膨胀并且布局没有变化(没有添加或删除任何视图/视图组),那么为什么对象(视图和 ly1)的地址不匹配?

我试过这个 -

得到了这个——

为什么在这种情况下 ly1 和视图对象代表相同的地址?

0 投票
2 回答
322 浏览

android - TimePicker If CheckBox IsChecked

我正在尝试在时间选择器对话框中放置一个复选框,位于时间选择器上方,只要它被选中,时间选择器就可以工作。
我尝试在 TimePickerFragment(onCreateDialog) 中制作 CheckBox,并将复选框放在主活动中,而不是在时间对话框中。TimePickerFragment:

Main_activity.xml:

知道为什么吗?谢谢!

0 投票
2 回答
765 浏览

android - 为什么 findViewById() 会抛出空异常?

为什么 findViewById 会抛出 NULL 异常?这是布局和源代码文件:

这是 MainActivity 中的源代码:

但是,findViewById()返回 null,我什至不知道为什么。这段代码非常简单。

0 投票
4 回答
2819 浏览

android - ViewPager 中对 EditText 的引用创建空指针异常

我正在尝试做的事情:

让用户在 3 个不同的片段上输入数据,然后在第 4 个片段上,用户将在提交到数据库之前查看前 3 个片段中的所有数据输入。

我遇到的问题:

我尝试设置或从 EditText 获取的每种方法都会创建一个NullPointerException

我的问题:

对于我正在尝试做的事情,从一个片段调用 EditText 的文本值并在页面更改时将该文本设置在另一个片段的 EditText 中的正确方法是什么?

笔记:

我已将代码简化为仅在每个片段上反映一个 EditText,以便于复制和剖析代码。

代码: