[英]How to display hint of EditText AFTER a default value on the EditText? (Android Java)
[英](Android) How to grab EditText value?
我有一個應用程序應該:
1.如果Spinner值為“ 1”,則從EditText值執行特定的數學方程式
2.如果Spinner值為“ 2”,請從EditText值執行特定的數學方程式,我將得到“ NullPointerException”
這是我的代碼:
package org.infinitech.degreescalculator.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class MainActivity extends Activity{
public Button button=(Button)findViewById(R.id.button);
public String selectedItem;
Integer number;
Integer a;
String numberTwo;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText input=(EditText)findViewById(R.id.input);
final TextView answerText=(TextView)findViewById(R.id.answer);
final Spinner spinner=(Spinner)findViewById(R.id.options);
final String inputTwo=(String)getText(R.id.input);
selectedItem=(String)spinner.getSelectedItem();
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if(selectedItem.equals("Fahrenheit to Celsius")){
a=Integer.parseInt(inputTwo);
number=a*100;
numberTwo=number.toString();
answerText.setText(numberTwo);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
return super.onOptionsItemSelected(item);
}
}
您可以像這樣以String
獲取值:
editTextObject.getText().toString()
實際上這行final String inputTwo=(String)getText(R.id.input);
不會給出任何值,因此只能直接在按鈕的onclick內獲取其文本。
更改此:
a=Integer.parseInt(inputTwo);
至:
a=Integer.parseInt(input.getText().toString());
您的問題是在您的onCreate
方法中分配了selectedItem
,該方法在選擇微調器中的任何項目之前運行,因此始終為null
。 將分配給它的行移動到按鈕單擊偵聽器的onClick
方法內部,它應該可以解決問題。
同樣,您可能還需要將inputTwo
變量移到onClick
方法中,因此在創建時也不會設置它,也永遠不會對其進行更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.