- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个显示评级栏的警告对话框。
LayoutInflater rating = LayoutInflater.from(RatingActivity.this);
final View v = rating.inflate(R.layout.rating_layout, null);
AlertDialog.Builder adb = new AlertDialog.Builder(RatingActivity.this);
adb.setTitle("Rate us!);
adb.setView(v);
AlertDialog ratingbar = adb.create();
final RatingBar cleanbar = (RatingBar) ratingbar.findViewById(R.id.clealiness);
当我触发 onclick 监听器时,它显示 NULL POINTER EXCEPTION。第二行错误表示 getNumStars() 行中有错误。之后强制关闭。
adb.setPositiveButton("Rate", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//this line error. means they cant get the rating value?
final String cleaninput = Integer.toString(cleanbar.getNumStars());
我可以知道任何其他方法来获取 ratingbar 的值吗?我见过很少像 ratingBar.getRating(); ratingBar.getNumStars();
所有这些都无法工作...即使我将值直接放入 int。
final int cleaninput = (int) cleanbar.getRating(); //fails
编辑(解决)::
final RatingBar cleanbar = (RatingBar)v.findViewById(R.id.clealiness);
我将评分栏替换为 v 并且有效!我不知道原因 >.<
最佳答案
我认为你的问题是这样的:
final RatingBar cleanbar = (RatingBar) ratingbar.findViewById(R.id.clealiness);
它不会正确初始化 RatingBar,因为您没有从 Activity(包含 RatingBar)的布局初始化 RatingBar,这就是为什么您在 NPE
得到 NPE
的原因p>
cleanbar.getNumStars() // cleanbar is assigned as null
改成
final RatingBar cleanbar = (RatingBar) findViewById(R.id.clealiness);
现在它应该可以工作了。
LayoutInflater rating = LayoutInflater.from(RatingActivity.this);
final View ratingView = rating.inflate(R.layout.rating_layout, null);
AlertDialog.Builder adb = new AlertDialog.Builder(RatingActivity.this);
adb.setTitle("Rate us!);
adb.setView(ratingView);
AlertDialog ratingbar = adb.create();
现在正确获取值:
RatingBar cleanbar = (RatingBar) ratingView.findViewById(R.id.clealiness);
您需要为 RatingBar
分配您膨胀的 View
。
现在它应该可以工作了:
final int cleaninput = (int) cleanbar.getRating();
关于java - 无法从警报对话框中的 RatingBar 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459400/
每当我在布局中使用 RatingBar View 时,我都会突然遇到各种编译错误。我使用的是 Android 2.0,但我也尝试过 2.0.1 和 2.1,但并不愉快。我还收到一条消息:Shader
我在应用程序中有一个 RatingBar 组件,我对其进行了以下配置: android:numStars="5" android:stepSize="1.0" 问题是一旦触摸从下一个星星的部分穿过一个
我有一个 layout我想在哪里显示RatingBar为用户。我正在使用我自己的自定义图标而不是默认星星。我的问题是图标是矢量格式,当我使用它们时,我会得到奇怪的效果(见下图)。它应该显示 5 个图标
我已将 RatingBar 添加到我的 ListView 的每个项目中。它运行良好,但不显示准确评级。例如,如果评级是 4.3,它必须显示第 5 颗星的一部分,但它没有。 截图: 第一项评分 = 4.
我在 ListView 中有一个 TextView 和 RatingBar,我想在每个上保存 RatingBar 的值在 ListView 中列出,可以使用自定义适配器吗?? 我用来做的代码喜欢: P
我有一个 RatingBar,用户可以在其中提交星级。我没有按钮,我想让它对用户更友好,让它动态提交。 在 setOnRatingBarChangeListener 方法中,我提交了星星。 这里是问题
我真的是 android 编程的新手。我的问题是 RatingBar 实际上是如何工作的?我想制作一个包含 RatingBars 的应用程序,每当用户将它评为 4 星时,我希望我的应用程序的其他用户也
我正在开发一个使用 RatingBar 的 Android 应用程序,并获得 5 颗星。我有一台 HTC Wildfire,RatingBar 工作得很好。我有这个屏幕的布局。但是,我在 HTC de
我的应用程序中有一个 android 评级栏,它只显示 int 评级。 例如: float ratingValue = 1.5f; myRatingBar.setRating(ratingValue)
RatingBar 中的步长是多少?这是我在文档中找到的内容:此评级栏的步长。例如,如果需要半星粒度,则为 0.5。我试图在这里找到它:https://developer.android.com/re
我知道我可以应用我自己的风格,将评分栏的明星图片换成其他东西。我需要一些更复杂的东西:每个 ratingbar 元素都应该比以前的大。 看图: 这可能吗? 最佳答案 我们可以扩展评分栏,保持栏的高度与
背景:我们使用标准的 Android RatingBar 5 星。我们允许用户使用此 RatingBar 从 1 到 5 进行评分。我们显示的默认值为零,即未评分。 问题:用户目前即使在点击评级栏一次
我知道这听起来很烦人,但有时感觉 Android 的 UI 组件和行为有些离谱。 考虑以下 XML: 在不同尺寸的设备上显示效果的屏幕截图: Nexus S 评分栏 平板电脑评分栏 小型
我需要强制 重绘 RatingBar 控件。 在评级栏和样式出现许多问题后,我设法使几乎所有功能都正常工作。 我在 ListView 项目中使用它。由于它的工作原理,人们不得不对其外观和行为进行一些“
我有以下 RatingBar: 当我按下星星的左边部分时 - 它被选中,但当我按下右边部分时 - 下一颗星星被选中。我需要我点击的星星被选中,无论我点击它的哪个部分。请帮助我了解问题所在。 最佳答案
我在应用程序中有这个评分栏,它始终正确显示。但最近我意识到它在某些设备上无法正常工作(包括带有 Lollipop 版本的 Nexus 5)。 评级栏被黑色覆盖层覆盖,如下图所示(仅在某些设备上)。当
如何做到以下几点? 如果 RatingBar 有 1-3 颗星 - 红星。如果 RatingBar 有 4 颗星 - 黄色星星。如果 RatingBar 有 5 颗星 - 绿星。 ((RatingBa
我有一个表单,它是根据从 Web 服务接收到的数据动态生成的。此 Web 服务提供创建输入元素时需要使用的图像。我很难设置 RatingBar 的 progressDrawable。虽然 XML 我能
我在每行中使用 RecyclerView 和 RatingBar。现在,有时部分 RatingBar 绘制不正确。离开屏幕并返回后,一切恢复正常。我不知道为什么会这样,我什至从 RatingBar 中
我正在尝试在 ListView 中显示评级栏。 无论我尝试了什么: viewHolder.viewOnlyQuickRatingBar.setNumStars(5); 或: android:n
我是一名优秀的程序员,十分优秀!