이전 WebOS 응용 프로그램을 android에 적용하고 거의 모든 응용 프로그램에서 phonegap을 사용하고 있습니다. (이전 코드는 javascript 였으므로 편리합니다.) 입력 용 네이티브 AutoCompleteTextView. 내 이국적인 하이브리드 응용 프로그램으로 인해 NullPointerException이 발생합니다. 그러나 처음부터 시작하겠습니다. 내가 된 setContentView에있을 내 문제에 대한 해결책을 제시 블로그에 몇 가지 메모를 발견 그래서AutoCompleteTextView (ArrayAdapter) PhoneGap의 NullPointerException
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
/* ... boring things here ... */
// http://stackoverflow.com/questions/7320910/android-phonegap-with-native-controls
View footer = View.inflate(getContext(), R.layout.footer, null);
root.addView(footer);
// setContentView(root);
// http://www.kwpro.net/blogs/2011/1/10/1651_Android_AutoComplete_Tutorial_Amendment.html
}
처럼 (내가 여기 게시물 당) 바닥 글을 추가,하지만 작동하지 않습니다. 어쨌든, 나는 (자바 인터페이스를 통해 window.f.setAutoComplete()를 통해) 이것을 사용하여 javascript에서 자동 완성 텍스트를 정확히 한 번 설정합니다.
public void setAutoComplete(String []s) {
Log.d(TAG, "[native]: setting autocomplete text");
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.inpu);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, s);
textView.setAdapter(adapter);
}
어쨌든 모든 것이 작동하는 것 같습니다. 즉, 선택 목록이 나타나고 응용 프로그램을 강제 종료하는 NullPointerException이 발생하기 전에 가끔씩 하나를 선택할 수 있습니다. 나는 이걸 다룰 준비가 안됐다. 그래서 공개적으로 물어볼 것이라고 생각했다.
W/dalvikvm(1832): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
E/AndroidRuntime(1832): FATAL EXCEPTION: WebViewCoreThread
E/AndroidRuntime(1832): java.lang.NullPointerException
E/AndroidRuntime(1832): at android.widget.AbsListView$RecycleBin.getScrapView(AbsListView.java:5900)
E/AndroidRuntime(1832): at android.widget.AbsListView.obtainView(AbsListView.java:2003)
E/AndroidRuntime(1832): at android.widget.ListPopupWindow$DropDownListView.obtainView(ListPopupWindow.java:1168)
E/AndroidRuntime(1832): at android.widget.ListView.measureHeightOfChildren(ListView.java:1244)
E/AndroidRuntime(1832): at android.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1095)
E/AndroidRuntime(1832): at android.widget.ListPopupWindow.show(ListPopupWindow.java:524)
E/AndroidRuntime(1832): at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1062)
E/AndroidRuntime(1832): at android.widget.AutoCompleteTextView.updateDropDownForFilter(AutoCompleteTextView.java:939)
E/AndroidRuntime(1832): at android.widget.AutoCompleteTextView.onFilterComplete(AutoCompleteTextView.java:921)
E/AndroidRuntime(1832): at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:285)
E/AndroidRuntime(1832): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(1832): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(1832): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:728)
E/AndroidRuntime(1832): at java.lang.Thread.run(Thread.java:856)
내 추측 ... 난 "UI 물건을 할 수있는 하나의 스레드"그 실행 해요 것을 아 ... 패러다임,하지만 난 ':
예외 덤프는 다음과 같습니다 확실하지 않은 경우 어떻게 수정해야하는지, 그리고 그렇지 않은 경우 다음에 무엇을 시도해야할지 모르겠다.
나는 자바 스크립트 자동 완성 기능을 사용하기 위해 많은 노력을 기울였습니다.하지만 그렇게 많은 문제가 있습니다. 가능한 경우 기본 기능을 원했습니다. 내가 뭔가 다른 것을 알아낼 수는 없지만 네이티브 컨트롤이 좋으면이 기능을 사용할 수 있기를 바랍니다. – jettero