2012-04-24 53 views
-4

當用戶通過微調器輸入時間,那個時間是17:00,那麼我想返回一個錯誤Toast,現在我已經在我的微調控制器中聲明瞭我的beginTime作爲字符串,我需要將它轉換回Int爲了檢查如果該值等於17:00嘗試將存儲在字符串中的時間(包含冒號)轉換爲int值。

public void checkBeginTime() 

String begingTime = beginTimespinner.getText().toString(); 

    if (beginTime == 17:00) 
    { 
    Toast.etc 
    } 

    else 

    { 
    add beginTime; 
    } 

,如果我嘗試這樣做,那麼它不會怎麼一回事,因爲工作:的,任何想法?

+2

什麼是「模塊」?你想做什麼?如果(s == 17:00)不是有效的java/android代碼。 – claesv 2012-04-24 13:50:51

+1

你如何期待「:」被解析爲一個數字......?在發佈這類問題之前,你應該真正處理你的編程技巧。 – 2012-04-24 13:50:58

+0

我已經發布了一個答案,但我傾向於同意 - 即使在編輯之後,措辭也很差。 – OnResolve 2012-04-24 13:58:00

回答

0
int MyInt=Integer.parseInt("17.00"); 
1
your_str = your_str.replace(":", ""); 

    your_int = Intger.parseInt(your_str); 

你結束了一個唯一的整數。

+0

@goldilocks,是的,對不起這個:) – claesv 2012-04-24 13:55:31

0

這很難理解你在問什麼。將來,在發佈之前花點時間收集您的想法。

雖然我會採取刺。

「17:00」

是你說的字符串。通常,在談論字符串 - > int轉換時,最終目標是明確的,即很容易理解您想要的內容。

「15」 - > 15; 「-2」 - > -2 //等

因爲這個原因,冒號很棘手,你想17或1700嗎?顯然非常不同。你可以通過字符串操作來控制它。假設你想要1700,你可以這樣做:

String str = "17:00"; 
int StrAsInt = Integer.ParseInt(str.replace(":","")); 

或者對於17,子串索引0到冒號的索引。關鍵是,你需要自己做一些工作來將這樣的東西轉換成一個整數。

+0

你忘了'-'-sign :) – Jave 2012-04-24 14:00:06

1

假設beginTime是一個字符串在第一位,那麼你從來沒有比較字符串與==。 您必須使用.equals()方法。 (谷歌爲什麼不)。

在Java中,你做這樣的:

private void testVal(String beginTime) { 
     String testVal = "17:00"; 
     if (testVal.equals(beginTime)){ 
      System.out.println("Matched " + beginTime); 
      // Or whatever you want in Android, such as Toast 
     } 
     else{ 
      System.out.println("No match with " + beginTime); 
      // Or whatever you want in Android, such as Toast 
     } 

    } 

的你會調用與方法:

String beginTime = "17:00"; // or in your case beginTimespinner.getText().toString(); 
test.testVal(beginTime); 
0

假設你使用的是Spinner來獲取用戶輸入的時候,有你考慮使用TimePicker還是TimePickerDialog

以下幾段代碼已經從時間選取器教程中獲得。我只粘貼了相關的方法來說明我的觀點,但完整的教程可以發現here

public class HelloTimePickerActivity extends Activity { 
private TextView mTimeDisplay; 
private Button mPickTime; 

static final int TIME_DIALOG_ID = 0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // capture our View elements 
    mTimeDisplay = (TextView) findViewById(R.id.timeDisplay); 
    mPickTime = (Button) findViewById(R.id.pickTime); 

    // add a click listener to the button 
    mPickTime.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      showDialog(TIME_DIALOG_ID); 
     } 
    }); 

    // snip... 
} 

// the callback received when the user "sets" the time in the dialog 
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() { 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     mHour = hourOfDay; 
     mMinute = minute; 
    } 
}; 

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case TIME_DIALOG_ID: 
     return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false); 
    } 
    return null; 
    } 
} 

正如你所看到的,回調onTimeSet()傳遞小時和分鐘爲int值,容易你去檢查。

相關問題