Java 无法在我的活动中显示微调器

Java 无法在我的活动中显示微调器,java,android,spinner,Java,Android,Spinner,我的儿童活动中有一个旋转器。这意味着我的活动是活动组的子活动 当我点击微调器时,它崩溃了。它在我单击某个选项之前崩溃(它甚至没有显示选项),请参见此处: public class PriceCalculator extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); se

我的儿童活动中有一个旋转器。这意味着我的活动是活动组的子活动

当我点击微调器时,它崩溃了。它在我单击某个选项之前崩溃(它甚至没有显示选项),请参见此处:

public class PriceCalculator extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.calculator);

        Spinner metalSpinner=(Spinner)findViewById(R.id.metalSpinner);
        ArrayAdapter<String> metalDataAdapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.Metals));

        metalSpinner.setAdapter(metalDataAdapter);

        metalSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                TextView priceTextView=(TextView)findViewById(R.id.priceTextView);
                priceTextView.setText(""+parent.getItemAtPosition(position));
            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {}
        });
    }

}
您的活动正在进行吗? 但我的活动正在进行。发生这种情况时,活动是儿童吗?

尝试替换

setContentView(R.layout.calculator);


尝试将适配器的
上下文更改为当前活动上下文。这句话:

ArrayAdapter<String> metalDataAdapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.Metals));
ArrayAdapter metalDataAdapter=new ArrayAdapter(getApplicationContext(),android.R.layout.simple_spinner_项,getResources().getStringArray(R.array.Metals));
应改为:

ArrayAdapter<String> metalDataAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.Metals));
ArrayAdapter metalDataAdapter=new ArrayAdapter(这是android.R.layout.simple_spinner_项,getResources().getStringArray(R.array.Metals));

好的,最好在创建所有UI组件时使用当前活动上下文

如果问题已解决,请写一个答案并接受它,以便将此问题从未解决问题列表中删除。@mahe madhi您使用的是TabActivity还是ActivityGroup????
ArrayAdapter<String> metalDataAdapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.Metals));
ArrayAdapter<String> metalDataAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.Metals));