java - 为什么我在这里收到微调器的空引用错误?

标签 java android android-layout

我正在 android studio 中编程,这是我的代码 fragment :

public class settingsView extends Fragment {

    public settingsView() {
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        final Spinner citySpinner = (Spinner) getActivity().findViewById(R.id.citySpinner);

        FirebaseDatabase.getInstance().getReference("/movies/karnataka").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                ArrayList<String> cityList = new ArrayList<>();

                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    cityList.add(snapshot.getKey());
                }

                Log.d("firebasedata", cityList.toString());

                ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_spinner_item, cityList );
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                citySpinner.setAdapter(adapter);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
            }
        });


        return inflater.inflate(R.layout.settingsview, container, false);
    }
}

我正在获取

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter) on a null object reference exception 

在行:

citySpinner.setAdapter(adapter)

最佳答案

您需要首先在 oncreateview 中填充包含 fragment View 的 xml 文件。

然后使用该 View 执行 findviewbyid:

view = inflater.inflate(R.layout.fragment_xml, container, false);
final Spinner citySpinner = (Spinner) view.findViewById(R.id.citySpinner);

关于java - 为什么我在这里收到微调器的空引用错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51104938/

相关文章:

java - 将一系列信号送入电线

android - 在服务器上构建(不开发)您的Android应用.apk(渐变构建)?

android - 与服务器的连接丢失时在 Android 上备份数据的最佳方法

java - 安卓 : Dealing with multiple font files - Correct way

java - 为什么 SingleThreadModel 不同步属性?

java - 将对象属性映射到 Java 映射的最简单方法

java - JTable 列中 Toedter 的 JDateChooser

android - AudioRecord同时播放音频-访问输出播放数据

当我调用 EditText 时 Android 应用程序崩溃

java - 根据可用空间自动调整文本大小