Android应用程序启动后关闭

Android应用程序启动后关闭,android,Android,我遇到了一个问题:当我尝试在我的设备上调试我的应用程序时,它只是在启动后立即关闭它 代码如下: public class Main extends AppCompatActivity { EditText convFromET, convToET, commaNumbET; Spinner selectCatS, convFromS, convToS; @Override protected void onCreate(Bundle savedInstance

我遇到了一个问题:当我尝试在我的设备上调试我的应用程序时,它只是在启动后立即关闭它

代码如下:

public class Main extends AppCompatActivity {
    EditText convFromET, convToET, commaNumbET;
    Spinner  selectCatS, convFromS, convToS;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        convFromET = (EditText)findViewById(R.id.input_convert_from);
        convToET = (EditText)findViewById(R.id.input_convert_to);
        commaNumbET = (EditText)findViewById(R.id.input_comma_numbers);

        selectCatS = (Spinner)findViewById(R.id.spinner_select_category);
        convFromS = (Spinner)findViewById(R.id.spinner_convert_from);
        convToS = (Spinner)findViewById(R.id.spinner_convert_to);

        SetSelectCatSOnClickListener( );


    }

    private void SetSelectCatSOnClickListener( ){
        selectCatS.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                ArrayAdapter<CharSequence> adapter;

                switch( position ) {
                    case 0: // length
                        adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.spinner_length, android.R.layout.simple_spinner_item);
                        break;

                    case 1: // speed
                        adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.spinner_speed, android.R.layout.simple_spinner_item );
                        break;

                    case 2: //tempreture
                        adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.spinner_tempreture, android.R.layout.simple_spinner_item );
                        break;

                    case 3: // volume
                        adapter = ArrayAdapter.createFromResource( getApplicationContext(), R.array.spinner_volume, android.R.layout.simple_spinner_item );
                        break;

                    default: // Weigth
                        adapter = ArrayAdapter.createFromResource( getApplicationContext(), R.array.spinner_weigth, android.R.layout.simple_spinner_item );
                        break;
                }

                adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
                convFromS.setAdapter( adapter );
                convToS.setAdapter( adapter );
            }
        });
    }
}
public类主活动{
编辑文本convFromET、convToET、commaNumbET;
微调器选择猫、convFrom、convToS;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
convFromET=(EditText)findViewById(R.id.input\u convert\u from);
convToET=(EditText)findViewById(R.id.input\u convert\u to);
commaNumbET=(EditText)findViewById(R.id.input\u逗号\u数字);
selectCatS=(微调器)findViewById(R.id.Spinner\u select\u category);
convFromS=(微调器)findViewById(R.id.Spinner\u convert\u from);
convToS=(微调器)findViewById(R.id.Spinner\u convert\u to);
设置SelectCatsonClickListener();
}
私有void SetSelectCatSOnClickListener(){
selectCatS.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
阵列适配器;
开关(位置){
案例0://长度
adapter=ArrayAdapter.createFromResource(getApplicationContext(),R.array.spinner\u length,android.R.layout.simple\u spinner\u项);
打破
案例1://速度
adapter=ArrayAdapter.createFromResource(getApplicationContext(),R.array.spinner\u speed,android.R.layout.simple\u spinner\u item);
打破
案例2://温度
adapter=ArrayAdapter.createFromResource(getApplicationContext(),R.array.spinner\u tempreture,android.R.layout.simple\u spinner\u项);
打破
案例3://卷
adapter=ArrayAdapter.createFromResource(getApplicationContext(),R.array.spinner\u volume,android.R.layout.simple\u spinner\u item);
打破
默认值://Weigth
adapter=ArrayAdapter.createFromResource(getApplicationContext(),R.array.spinner\u weigth,android.R.layout.simple\u spinner\u项);
打破
}
adapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
convFromS.setAdapter(适配器);
convToS.setAdapter(适配器);
}
});
}
}
下面是XML文件(strings.XML):

选择一个类别
皈依
皈依
逗号后的数字
长
体重
体积
温度
速度
体积
英寸
费尔茨
厘米
米
公里
米每秒
公里每小时
每小时英里数
摄氏度
法伦海斯
开尔文
立方毫米
立方厘米
立方米
升
毫克
克
公斤
英镑
吨
顺便说一下,当我在
onCreate
中注释
setselectsonclicklistener()
时,应用程序不会崩溃,所以我认为问题一定存在


提前谢谢

了解有关logcat的错误的详细信息

在eclipse上:

转到窗口->显示视图->Android->日志猫

然后Logcat被固定在屏幕底部。

您将看到一个下拉列表,默认情况下该下拉列表具有详细信息。将其更改为错误。现在,您将只在Logcat中看到错误


一旦出现错误,请将其张贴在此处,我相信我们可以帮助您。

这不是OnItemClick,应该为微调器选择它。

日志?selectCatS在使用时是否为空?嗯,有没有关于如何过滤这些日志的提示?因为我有数以百万计的条目,我不知道如何找到正确的一个…另一件事,我只是阅读你的代码。如果你是android的初学者。我建议你把你的主要课程扩展到活动。不要使用AppCompatActivity,只是为了避免不必要的内容。请参阅本文,因为您不能在微调器上使用onItemClickListener。事实上你错了
AppCompatActivity
是最新的android支持库中提供的一个类。更多信息请参阅本文:我从未说过这是错误的。注意我说的“如果你是初学者”。当你只是学习基础知识时,不需要有一大堆实现的方法和额外的东西。即使他是一个初学者,在某个时候他也需要学习如何使用AppCompat库,扩展AppCompatActivity不需要在“方法实现和额外的东西”上下功夫。此外,用正确的方法学习也没有任何坏处,嗯?谢谢!这就是问题所在。我已经改变了这一点,现在我的应用程序运行得很好。
<string name="select_category">Choose a category</string>
<string name="convert_from">Convert from</string>
<string name="convert_to">Convert to</string>
<string name="numbers_after_comma">Numbers after comma</string>

<string-array name="spinner_categories">
    <item>Length</item>
    <item>Weigth</item>
    <item>Volume</item>
    <item>Tempreture</item>
    <item>Speed</item>
    <item>Volume</item>
</string-array>

<string-array name="spinner_length">
    <item>Inches</item>
    <item>Feets</item>
    <item>Centimeters</item>
    <item>Meters</item>
    <item>Kilometers</item>
</string-array>

<string-array name="spinner_speed">
    <item>Meters per second</item>
    <item>Kilometers per hour</item>
    <item>Miles per hour</item>
</string-array>

<string-array name="spinner_tempreture">
    <item>Celsius</item>
    <item>Farenheith</item>
    <item>Kelvin</item>
</string-array>

<string-array name="spinner_volume">
    <item>Cubic milimeters</item>
    <item>Cubic centimeters</item>
    <item>Cubic meters</item>
    <item>Liters</item>
</string-array>

<string-array name="spinner_weigth">
    <item>Miligrams</item>
    <item>Grams</item>
    <item>Kilograms</item>
    <item>Pounds</item>
    <item>Tons</item>
</string-array>