- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在对话框上有一个搜索栏,它崩溃了。它说有一个 NullPointerException
。但是我找不到它!我的错误在哪里?我评论了 NullPointerException
所在的位置。
dialog_context_mark.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/add_hw_dialog"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dp" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/txt_gewicht"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gewicht: " />
<TextView
android:id="@+id/txt_weight_change"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"/>
</RelativeLayout>
<SeekBar
android:id="@+id/seekBar_wertung"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
标记.java
在 Public Class mark 中我是这样定义的:
SeekBar seek_gewicht;
SeekBar seekBar_wertung;
TextView gewicht;
OnSeekBarChangeListener:
OnSeekBarChangeListener yourSeekBarListener = new OnSeekBarChangeListener() {
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub
gewicht.setText(progress+"%");
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onStopTrackingTouch(SeekBar seekBar) {
seekBar.setSecondaryProgress(seekBar.getProgress());
}
};
我的对话:
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;;
switch(id) {
case ADD_MARK_DIALOG:
dialog = new Dialog(mark.this);
dialog.setContentView(R.layout.dialog_context_mark);
dialog.setTitle("Note hinzufügen");
seek_gewicht = (SeekBar)findViewById(R.id.seekBar_wertung);
/***NULLPOINTEREXEPTION
seek_gewicht.setOnSeekBarChangeListener(yourSeekBarListener);
***/
}
return dialog;
}
private Button.OnClickListener add_mark = new Button.OnClickListener(){
public void onClick(View arg0) {
mDbHelper.open_database_rw();
String txt_insert_markname = insert_markname.getText().toString();
String txt_note_mark = insert_note.getText().toString();
String date_picker_message = date_pick.getDayOfMonth() + "/" + (date_pick.getMonth()+1) + "/" + date_pick.getYear();
Bundle extras = getIntent().getExtras();
String txt_sub_id = extras.getString("IDFach");
if(txt_insert_markname.equals("")){doMessage("Bitte einen Namen eintragen!");}
if(txt_note_mark.equals("")){doMessage("Bitte eine Note eintragen!");}
final String INSERT_MARK = "INSERT INTO tbl_marks ('name', 'subid', 'gewicht', 'mark', 'datum') VALUES ('"+txt_insert_markname+"', '"+txt_sub_id+"', '5', '"+txt_note_mark+"', '"+date_picker_message+"')";
db.execSQL(INSERT_MARK);
insert_note.setText("");
fillData();
}
};
LogCat:(第 207 行是 seek_gewicht.setOnSeekBarChangeListener(yourSeekBarListener);)
02-07 10:13:58.382: D/dalvikvm(9189): GC_EXTERNAL_ALLOC freed 87K, 48% free 2916K/5511K, external 4223K/4230K, paused 21ms
02-07 10:13:58.414: D/AndroidRuntime(9189): Shutting down VM
02-07 10:13:58.414: W/dalvikvm(9189): threadid=1: thread exiting with uncaught exception (group=0x40235568)
02-07 10:13:58.418: E/AndroidRuntime(9189): FATAL EXCEPTION: main
02-07 10:13:58.418: E/AndroidRuntime(9189): java.lang.NullPointerException
02-07 10:13:58.418: E/AndroidRuntime(9189): at test.marco.notenha.mark.onCreateDialog(mark.java:207)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.app.Activity.onCreateDialog(Activity.java:2506)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.app.Activity.createDialog(Activity.java:885)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.app.Activity.showDialog(Activity.java:2581)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.app.Activity.showDialog(Activity.java:2548)
02-07 10:13:58.418: E/AndroidRuntime(9189): at test.marco.notenha.mark.onOptionsItemSelected(mark.java:113)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.app.Activity.onMenuItemSelected(Activity.java:2229)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:755)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:857)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:532)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:123)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.view.View$PerformClick.run(View.java:9130)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.os.Handler.handleCallback(Handler.java:587)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.os.Handler.dispatchMessage(Handler.java:92)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.os.Looper.loop(Looper.java:130)
02-07 10:13:58.418: E/AndroidRuntime(9189): at android.app.ActivityThread.main(ActivityThread.java:3703)
02-07 10:13:58.418: E/AndroidRuntime(9189): at java.lang.reflect.Method.invokeNative(Native Method)
02-07 10:13:58.418: E/AndroidRuntime(9189): at java.lang.reflect.Method.invoke(Method.java:507)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
02-07 10:13:58.418: E/AndroidRuntime(9189): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
02-07 10:13:58.418: E/AndroidRuntime(9189): at dalvik.system.NativeStart.main(Native Method)
滑动条时的LogCat:78为gewicht.setText(progress+"%");
02-07 10:18:50.312: I/Process(9235): Sending signal. PID: 9235 SIG: 9
02-07 10:18:53.625: D/dalvikvm(9247): GC_EXTERNAL_ALLOC freed 92K, 48% free 2918K/5511K, external 4223K/4230K, paused 26ms
02-07 10:18:54.668: D/AndroidRuntime(9247): Shutting down VM
02-07 10:18:54.668: W/dalvikvm(9247): threadid=1: thread exiting with uncaught exception (group=0x40235568)
02-07 10:18:54.730: E/AndroidRuntime(9247): FATAL EXCEPTION: main
02-07 10:18:54.730: E/AndroidRuntime(9247): java.lang.NullPointerException
02-07 10:18:54.730: E/AndroidRuntime(9247): at test.marco.notenha.mark$1.onProgressChanged(mark.java:78)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.SeekBar.onProgressRefresh(SeekBar.java:90)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:544)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:523)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.ProgressBar.refreshProgress(ProgressBar.java:558)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.ProgressBar.setProgress(ProgressBar.java:607)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:368)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:313)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.View.dispatchTouchEvent(View.java:3886)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:875)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:875)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:875)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:875)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:875)
02-07 10:18:54.730: E/AndroidRuntime(9247): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1794)
02-07 10:18:54.730: E/AndroidRuntime(9247): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1132)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.app.Dialog.dispatchTouchEvent(Dialog.java:642)
02-07 10:18:54.730: E/AndroidRuntime(9247): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1778)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2208)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.view.ViewRoot.handleMessage(ViewRoot.java:1892)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.os.Handler.dispatchMessage(Handler.java:99)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.os.Looper.loop(Looper.java:130)
02-07 10:18:54.730: E/AndroidRuntime(9247): at android.app.ActivityThread.main(ActivityThread.java:3703)
02-07 10:18:54.730: E/AndroidRuntime(9247): at java.lang.reflect.Method.invokeNative(Native Method)
02-07 10:18:54.730: E/AndroidRuntime(9247): at java.lang.reflect.Method.invoke(Method.java:507)
02-07 10:18:54.730: E/AndroidRuntime(9247): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
02-07 10:18:54.730: E/AndroidRuntime(9247): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
02-07 10:18:54.730: E/AndroidRuntime(9247): at dalvik.system.NativeStart.main(Native Method)
最佳答案
试试这个
seek_gewicht = (SeekBar)findViewById(R.id.seekBar_wertung);
应该是
seek_gewicht = (SeekBar)dialog.findViewById(R.id.seekBar_wertung);
关于android - 为什么我的 Dialog Seekbar 崩溃了?空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9173526/
使用的浏览器 - Chrome 67.0.3396.99 我创建了一个 DialogsModule它有一个组件 ConfirmDialog.component.ts使用以下模板 confirm-dia
我一直在尝试制作一个简单的程序来使用Electron创建和读取文件。 到目前为止,我已经尝试了很多,并且似乎没有提供与dialog.showOpenDialog一起提供的回调函数。 dialo
我有一个登录对话框,想防止它在按下回车键时自动关闭。 更具体地说,当用户输入凭据并按下回车键时,凭据的响应返回错误,我希望对话框保留(这样我就可以向他们显示一些错误消息,让用户再试一次) . 这就是我
Jquery对话框的含义是什么:它是单独的网页还是网页的一部分? (我不太了解 Jquery)。 谢谢 最佳答案 jQuery 对话框将出现在页面上方,但它实际上是当前页面的一部分。当您加载对话框时,
当用户退出 xe:dialog 时,我需要做一些清理工作。我将代码放在 onUnload 事件中,如下所示: viewScope.remove("vsSomeVariable"); viewScope
我想相对于我的 html 元素之一定位 Dojo 的 Dijit 对话框。是否可以? 如是。如何? 目前它总是在视口(viewport)中间显示对话框。 有人可以帮我解决这个问题吗? 谢谢。 amar
即使属性设置为“openDirectory”,是否也可以在 showOpenDialog 中显示文件?当然,文件不应该是可选的,但可能会显示为灰色。所以用户知道他选择了正确的目录。在 OSX 上一切正
如何使用 android 标准组件 Bottom Sheet 单实现以下设计功能: 出现 Bottom Sheet 对话框片段时的图像: 用户向上滚动以查看内容底部时的图像: 我将使用 ViewPag
我刚开始使用对话框,我非常喜欢在资源文件中定义布局的可能性。但是是否可以设置一个对话框并将其嵌入到另一个对话框中(即没有 float 对话框)? 对于普通窗口,我创建了一个带有一个子窗口的主窗口。然后
我正在尝试更改 dialog 的背景颜色元素的 backdrop使用自定义 CSS 属性,但不需要。这是 Chrome 中的错误还是有原因? document.querySelector('dialo
我有一个 Electron 应用程序。如果我通常使用dialog.showmessageBoxSync,则必须等待用户输入。选项为:关闭,取消或确定。 它工作正常,但是如果我在对话框外部(应用程序内的
我有一个启动确认对话框的 View ,但代码不是等待对话框返回结果,而是直接跳转到 promise 的“then”部分。请参阅下面的代码: ConfirmDialog.ts import { inje
我有一个启动确认对话框的 View ,但代码不是等待对话框返回结果,而是直接跳转到 promise 的“then”部分。请参阅下面的代码: ConfirmDialog.ts import { inje
我正在使用 MonoTouch.Dialog 的 OwnerDrawnElement,但它似乎不允许用户在触摸屏幕时“突出显示”单元格。我查看了示例,但它没有显示突出显示。有什么建议么? 我注意到 T
此选择器在 http://jqueryui.com/demos/dialog/#modal-confirmation 中引用(源代码)。 $( "#dialog:ui-dialog" ).dialog
我有一个奇怪的问题。当 Activity 开始时,我会显示一个对话框,说明某些项目正在加载,如下所示: Dialog dialog; @Override public void onCreate(Bu
jquery-ui 中 .dialog("close") 和 .dialog("destroy") 有什么区别? 我有一个脚本,以前的开发人员使用了 .dialog("destroy") 但现在我必须
我正在使用 Acengage (Ad4Push),我想自定义它的对话框。 Acengage 团队说可以使用自定义主题更改对话框样式,我做到了。我可以更改 textSize、textColor、wind
我有一个标准 View ,顶部有一个导航栏。我还在它自己的源文件中设置了一个 Monotouch.Dialog。我四处寻找解决方案,但似乎找不到关于如何将 MTD 添加到普通 View 的明确答案。
我试图从一个打开的 md-dialog 中打开一个 md-dialog,但问题是第一个 md-dialog 在第二个打开时关闭了 // the controller of the first popU
我是一名优秀的程序员,十分优秀!