- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 setOnEditorActionListener
有疑问,我不明白为什么它会使应用程序崩溃。我按照 Android 开发者网站上的指南搜索了大约 2 个小时,但我找不到解决方案......代码对我来说看起来不错,我认为唯一可能是问题是我创建了 Activity在 Android Studio 中使用 Navigation Drawer 预设;但我仍然看不到问题所在。有人能帮我吗?提前致谢。
Activity
package com.ran3000.notefication;
(...)
public class MainActivity extends ActionBarActivity
implements NavigationDrawerFragment.NavigationDrawerCallbacks {
(...)
EditText noteText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
noteText = (EditText) findViewById(R.id.write_note);
getSupportActionBar().hide();
Window window = getWindow();
notificationBarColor.changeStatusBarColor(window, getResources().getColor(R.color.darken_green));
setContentView(R.layout.activity_main);
(...)
noteText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
return false;
}
});
}
(...)
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment"
android:background="#ff00f045">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="#ffffffff"
android:textSize="64sp"
android:text="@string/main_header"
android:textStyle="bold" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/write_note"
android:background="@drawable/edit_text_outline"
android:layout_below="@+id/textView"
android:textSize="22sp"
android:textColor="#ffffffff"
android:textColorHint="#c8ffffff"
android:layout_marginTop="42dp"
android:inputType="textAutoCorrect|textCapSentences"
android:imeOptions="actionSend"
android:hint="@string/edit_text_hint" />
Process: com.ran3000.notefication, PID: 3636
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ran3000.notefication/com.ran3000.notefication.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setOnEditorActionListener(android.widget.TextView$OnEditorActionListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setOnEditorActionListener(android.widget.TextView$OnEditorActionListener)' on a null object reference
at com.ran3000.notefication.MainActivity.onCreate(MainActivity.java:88)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
最佳答案
好的,我意识到 EditText 不在 activity_main
中布局,但在 fragment_main
Android Studio 创建的布局。我刚刚添加了这行代码,现在它可以完美运行:
View inflatedView = getLayoutInflater().inflate(R.layout.fragment_main, null);
EditText noteText = (EditText) inflatedView.findViewById(R.id.write_note);
关于java - setOnEditorActionListener 给出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312824/
我刚刚学习 java/android,我在 setOnEditorActionListener 方面遇到问题。 我的问题是,第一次网页只能通过单击“Go”按钮加载,而不是通过键盘上的“完成”按钮加载。
尝试将事件监听器连接到 Android studio 中的 EditText 字段,但出现错误。这是我的事件监听器: TextView editText = new TextView (this);
我更新了我的应用程序,但现在监听器不工作了。 我将此 Activity 用于类似的操作: 1. EditText (IP地址) & AutoCompleteTextView (子网掩码) 2. Edi
我对 setOnEditorActionListener 有疑问,我不明白为什么它会使应用程序崩溃。我按照 Android 开发者网站上的指南搜索了大约 2 个小时,但我找不到解决方案......代码
我想创建一个布局,用户在其中键入艺术家姓名,当他在虚拟键盘上按下搜索时,会显示艺术家列表。 View rootView = (View) inflater.inflate(R.layout.fragm
我正在尝试在按下输入按钮时为 EditText 设置一个监听器。但它根本没有触发。我在装有 Android 4.2.2 的 LG Nexus 4 上对此进行了测试。 setOnEditorAction
这个问题在这里已经有了答案: How to watch multiple edittext boxes for a softkey enter or done press? (2 个答案) 关闭 1
我一直在尝试这个IME_ACTION //Listening to the keyboard action mSearchEditText.setOnEditorActionListener
我陷入了一个问题,当我在 xml 中使用 inputtype 作为 textmultiline 并在 edittext 中使用imeiOptions 作为 KEYCODE_ENTER 时。然后我的 s
当用户按下 EditText 中的输入按钮时,我正在尝试做一些事情(它是多行 editText 意味着用户可以写多行) 只是我想检测是否按下了回车键 使用的代码如下所示 听众是 mBodyText
请帮帮我。 我只想知道是否可以在 onEditorAction 中的 setOnEditorActionListener 中传递两个或多个值? 正如您在代码值中看到的那样? 我在我的数量中添加了 se
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
有人可以提供一个解决方案来为软键盘 DONE 按钮获取工作监听器,和/或解释我当前方法中做错了什么吗? 我的 Xml 和 Java 设置 在 Xml 中,有一个简单的 EditText 设置为 and
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我在 developer.android.com 上看到这段代码用于处理软键盘的 IME_ACTION: EditText editText = (EditText) findViewById(R.i
当我在 EditText(密码)中按 Enter 时,它会转到一个新行,然后如果执行 setOnEditorActionListener,那么我的密码将不正确(因为添加了 Enter)。有什么解决办法
我是一名优秀的程序员,十分优秀!