尝试在空对象引用上调用虚方法Spinner.setAdapter(SpinnerAdapter)[duplicate]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试在空对象引用上调用虚方法Spinner.setAdapter(SpinnerAdapter)[duplicate]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

首先我试图将微调器显示到一个对话框中,我通过getData对象将数据从数据库调用到ArrayList中,一切正常但在最后一步中,当我尝试将适配器分配给微调器时,我得到了上述错误这是我的代码:

    public class ViewDialogCities {
    public void showDialog(int layoutID , Activity activity){

        final Dialog dialog = new Dialog(activity);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCancelable(false);
        dialog.setContentView(layoutID);
        Button OkButton =  dialog.findViewById(R.id.btn_dialog_ddl_ok);
        Button CloseDialogButton =  dialog.findViewById(R.id.btn_dialog_ddl_cancel);
        Spinner spn_ddl_dialog_list = findViewById(R.id.spn_ddl_dialog_list);


        //Define data object
        final GetData getData = new GetData();
        ArrayList<String> getListOf;


        //Retrieve data from data object and store it an ArrayList
        getListOf = getData.getListOf("R");

        //ArrayList to ArrayAdapter
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter
                ( HomeActivity.this, android.R.layout.simple_spinner_dropdown_item, getListOf);

        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // Assign ArrayAdapter to spinner
        spn_ddl_dialog_list.setAdapter(arrayAdapter);

        CloseDialogButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        OkButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

        dialog.show();
    }
}
答案

你在getListOf得到零。确保列表不为空。也像这样使用。

Spinner spn_ddl_dialog_list = dialog.findViewById(R.id.spn_ddl_dialog_list);
另一答案

您创建的微调器是对话框的视图。

试试这个,

Spinner spn_ddl_dialog_list = dialog .findViewById(R.id.spn_ddl_dialog_list);

在这个中,微调器将由微调器视图引用。

以上是关于尝试在空对象引用上调用虚方法Spinner.setAdapter(SpinnerAdapter)[duplicate]的主要内容,如果未能解决你的问题,请参考以下文章

尝试在空对象引用上调用虚方法'double android.location.Location.getLatitude()'[duplicate]

尝试在空对象引用上调用虚方法'boolean java.lang.String.equals(java.lang.Object)'

SearchView 尝试在空引用上调用虚方法

尝试在空对象引用[duplicate]上调用虚方法'java.io.File android.content.Context.getCacheDir()'

引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法'int org.json.JSONArray.length()'[duplicate]

Android:尝试在空对象引用[duplicate]上调用虚方法'void android.database.sqlite.SQLiteDatabase.execSQL(java.lang.