2016-10-26 141 views
0

我遇到了一个问题,我的代码应该显示一个烤面包时单击按钮。Android微调项目位置

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> 

我不知道为什么按下时吐司消息不显示和程序崩溃和按钮。

回答

1

你不是初始化全局变量,而是使用它。

改变这一行

Spinner spinner = (Spinner) findViewById(R.id.spinner); 

spinner = (Spinner) findViewById(R.id.spinner); 
+0

是的,它的工作......非常感谢你:) – Damian