- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我运行下面的代码段时,我遇到了以下错误,该代码段在 AlertDialog
上显示了 RatingBar
。错误是
java.lang.IllegalStateException: Could not execute method of the activity
我尝试注释掉“rB.setOnRatingBarChangeListener(new OnRatingBarChangeListener()....”部分和我的评级栏可以在 alertdialog 中很好地显示。非常感谢任何帮助。非常感谢
AlertDialog.Builder builder;
AlertDialog alertDialog;
Context mContext = getApplicationContext();
LayoutInflater inflater = (LayoutInflater)
mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.review_app, (ViewGroup) findViewById(R.id.layout_root));
builder = new AlertDialog.Builder(this);
builder.setView(layout);
final RatingBar rB = (RatingBar)findViewById(R.id.Rating01);
final TextView ratingdefinition = (TextView) findViewById(R.id.ratingdefinition);
rB.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
final int numStars = ratingBar.getNumStars();
Log.v("number of stars", " " + numStars);
switch(numStars)
{
case(1):
{
ratingdefinition.setText("Poor");
break;
}
case(2):
{
ratingdefinition.setText("Below average");
break;
}
case(3):
{
ratingdefinition.setText("Average");
break;
}
case(4):
{
ratingdefinition.setText("Above average");
break;
}
case(5):
{
ratingdefinition.setText("Excellent!");
break;
}
}
}
});
alertDialog = builder.create();
alertDialog.show();
}
logcat 错误是:
08-15 09:49:02.789: WARN/dalvikvm(747): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): FATAL EXCEPTION: main
08-15 09:49:02.859: ERROR/AndroidRuntime(747): java.lang.IllegalStateException: Could not execute method of the activity
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.view.View$1.onClick(View.java:2072)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.view.View.performClick(View.java:2408)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.view.View$PerformClick.run(View.java:8816)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.os.Handler.handleCallback(Handler.java:587)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.os.Handler.dispatchMessage(Handler.java:92)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.os.Looper.loop(Looper.java:123)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at java.lang.reflect.Method.invoke(Method.java:521)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at dalvik.system.NativeStart.main(Native Method)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): Caused by: java.lang.reflect.InvocationTargetException
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at com.Maxis.Mplanet.IndividualApp.clickHandler(IndividualApp.java:293)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at java.lang.reflect.Method.invoke(Method.java:521)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.view.View$1.onClick(View.java:2067)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): ... 11 more
08-15 09:49:02.859: ERROR/AndroidRuntime(747): Caused by: java.lang.NullPointerException: println needs a message
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.util.Log.println_native(Native Method)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): at android.util.Log.v(Log.java:101)
08-15 09:49:02.859: ERROR/AndroidRuntime(747): ... 15 more
最佳答案
不要设置 RatingBarChangeListener
。设置 OndismissListener 或覆盖访问评级栏当前值的 OnDismiss(Dialog)。
示例代码:
alertDialog.setOnDismissListener(new OnDismissListener(..) {
void onDismiss(DialogInterface dlg) {
// find the rating bar and get its value.
// hold the alert dlg view in activity class and use it here.
// The one you set using alertDialog.setView
mAlertDialogView.findViewbyid(R.id.ratingbar);
}
});
关于AlertDialog 上的 Android RatingBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7063642/
每当我在布局中使用 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
我是一名优秀的程序员,十分优秀!