Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 纺纱机;适配器错误:在空对象引用上_Android_Spinner_Adapter - Fatal编程技术网

Android 纺纱机;适配器错误:在空对象引用上

Android 纺纱机;适配器错误:在空对象引用上,android,spinner,adapter,Android,Spinner,Adapter,晚上好, 所以我不知道。我得到了一个 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)” 基本上我知道空对象引用意味着没有分配某些内容(是的,我是编程新手!) 它看起来像findviewbyd(R.id.spinner1)正在返回null。 请尝试在活动中的setContentView函数中检查布局,您的Spinn

晚上好,
所以我不知道。我得到了一个
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)”
基本上我知道空对象引用意味着没有分配某些内容(是的,我是编程新手!)


它看起来像
findviewbyd(R.id.spinner1)正在返回
null

请尝试在活动中的
setContentView
函数中检查布局,您的
Spinner
必须在布局中定义id“@+id/spinner1”

您的代码:
Spinner Spinner=findviewbyd(R.id.spinner1)

这应该是
Spinner Spinner=(Spinner)findViewById(R.id.spinner1)

或者如果它是在一个片段中

builder.setView(fragmentView);

(Spinner)fragmentView.findViewById(R.id.spinner1);

希望这有帮助

可能您使用了错误的文件。检查微调器的位置以及尝试设置适配器的位置。
例如,微调器存在于
settings\u activity.xml中,但您可以尝试在
main\u activity中设置适配器。java

微调器被定义为带有“.=@+id/…”的微调器1。您对setContentView的确切含义是什么?很抱歉,我是新来的,我不完全理解它。在onCreate函数中的活动中,必须调用setContentView(R.layout.**)以将活动与布局(***-微调器定义的布局的名称)绑定,因此我添加了setContentView(R.layout.fragment_kaloreinechner);但是错误仍然是相同的您的函数必须看起来像@Override protected void onCreate(@Nullable Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.fragment_kaloreinechner);}但是我看到您的布局名称包含fragment,如果您的代码是一个片段,那么我们必须在您的片段中编写类似以下内容的公共视图onCreateView(LayoutFlater充气器、ViewGroup容器、Bundle savedInstanceState){return inflater.inflate(R.layout.fragment_Kaloreinechner、容器、false);}好的,问题是:我已经有了一个导航抽屉,所以它看起来是这样的:@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//setContentView(R.layout.fragment_kaloreinechner);setContentView(R.layout.activity_main);//我该怎么办?因为没有setContentView(R.layout.activity_main);应用程序也会崩溃&如果我同时编写了它们,当然这也不起作用。我认为
findViewById
将返回null而不是对象。id等于R.id.spinner1的对象是否存在?spinner1的可能副本在fragment_kalorienrechner.xml中定义为“spinner1”。。
    @Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
        case R.id.nav_kaz:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new KalorienzählerFragment()).commit();
            break;
        case R.id.nav_kar:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new KalorienrechnerFragment()).commit();
            break;
        case R.id.nav_erp:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new ErnährungsplanFragment()).commit();
            break;
        case R.id.nav_trp:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new TrainingsplanFragment()).commit();
            break;
        case R.id.nav_trh:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new TrainingshilfeFragment()).commit();
            break;
        case R.id.nav_ala:
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new AlarmFragment()).commit();
            break;
    }
    drawer.closeDrawer(GravityCompat.START);
    return true;
}
builder.setView(fragmentView);

(Spinner)fragmentView.findViewById(R.id.spinner1);