我的代码出现问题,单击按钮时会显示吐司。
public class MainActivity extends AppCompatActivity {
public Spinner spinner;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
}
public void start(View view) {
Toast.makeText(this, String.valueOf(spinner.getSelectedItemPosition()) , Toast.LENGTH_LONG).show();
}
}
xml代码
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:entries="@array/jednostki" />
<Button
android:text="Start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/spinner"
android:layout_centerHorizontal="true"
android:layout_marginBottom="71dp"
android:id="@+id/button"
android:onClick="start"/>
当然是带有我的数组的strings.xml
<resources>
<string name="app_name">02-tempretarureconverter</string>
<string-array name="jednostki">
<item>Celsjusze</item>
<item>Farenheity</item>
<item>Kelwiny</item>
</string-array>
</resources>
我不知道为什么没有显示Toast消息,按下按钮时程序崩溃。
答案 0 :(得分:1)
您不是初始化全局变量,而是使用它。
更改此行
Spinner spinner = (Spinner) findViewById(R.id.spinner);
与
spinner = (Spinner) findViewById(R.id.spinner);