首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoCompleteTextView NullPointerException

AutoCompleteTextView NullPointerException
EN

Stack Overflow用户
提问于 2019-10-23 08:01:42
回答 1查看 66关注 0票数 1

我正在尝试使用AutoCompleteTextView,但当我打开应该显示表中的消费者的片段时,我的应用程序崩溃了。

这是我的数据库助手代码:

代码语言:javascript
复制
public String[] readingconsumerlist() {
    try {
        String consumer[] = null;
        SQLiteDatabase db = this.getReadableDatabase();

        String query = "select name from Consumer";
        Cursor cursor = db.rawQuery(query, null);

        if (cursor != null) {
            if (cursor.moveToFirst()) {
                consumer = new String[cursor.getCount()];

                int i = 0;
                do {
                    consumer[i]=cursor.getString(0);
                    i++;
                } while (cursor.moveToNext());
            }
        }
        cursor.close();
        return consumer;
    }
    catch (Exception e) {
        e.getMessage();
        return null;
    }
}

这是片段中的代码:

代码语言:javascript
复制
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    homeViewModel = ViewModelProviders.of(this).get(HomeViewModel.class);
    View root = inflater.inflate(R.layout.fragment_home, container, false);

    db = new DatabaseHelper(getActivity());
    final String[] myconsumer = db.readingconsumerlist();

    autoCompleteTextViewconsumername = getActivity().findViewById(R.id.consumer_name);
    ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(),android.R.layout.simple_dropdown_item_1line, myconsumer);
    autoCompleteTextViewconsumername.setAdapter(adapter);

    return root;
}

我不知道这是不是堆栈跟踪,我是个新手。我试着修复这个错误已经快2天了,但是我什么也没做

代码语言:javascript
复制
Process: com.vicjames.finalmeterreader, PID: 11657
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.vicjames.finalmeterreader/com.vicjames.finalmeterreader.MainActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2988)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3066)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:202)
        at android.app.ActivityThread.main(ActivityThread.java:6962)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:528)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888)
     Caused by: java.lang.NullPointerException
        at java.util.Objects.requireNonNull(Objects.java:203)
        at java.util.Arrays$ArrayList.<init>(Arrays.java:3741)
        at java.util.Arrays.asList(Arrays.java:3728)
        at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:163)
        at com.vicjames.finalmeterreader.ui.home.HomeFragment.onCreateView(HomeFragment.java:58)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
        at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManagerImpl.java:2100)
        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1874)
        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1830)
        at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2663)
        at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManagerImpl.java:2613)
        at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2624)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:904)
        at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
        at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManagerImpl.java:2613)
        at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:246)
        at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:542)
        at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1334)
        at android.app.Activity.performStart(Activity.java:7247)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2951)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3066) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:202) 
        at android.app.ActivityThread.main(ActivityThread.java:6962) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:528) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888) 
EN

回答 1

Stack Overflow用户

发布于 2019-10-23 20:02:15

你应该以这种方式获得fragment的小部件:

代码语言:javascript
复制
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View root = inflater.inflate(R.layout.fragment_home, container, false) ;

    autoCompleteTextViewconsumername =root.findViewById(R.id.consumer_name);
    .
    .
    .
    return root;

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58513737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档