[英]Android: Filling a horizontal progress bar with user input
好的,所以我的程序應該可以幫助用戶跟蹤他們在任何特定任務上所取得的進展。
它具有一個<EditText>
視圖,該視圖將要求用戶輸入數字,該程序具有一個OnClickListener()
,一旦用戶單擊按鈕以添加數字輸入,它將激活一系列代碼。
該序列將此輸入轉換為字符串,然后轉換為int。 將int添加到狀態欄的進度(僅用作其進度的圖形表示)。
我在Netbeans上沒有遇到任何錯誤,並且我寫的內容似乎沒有任何直覺上的錯誤,但是每次我嘗試運行它時該應用程序都會崩潰。這是我第一次嘗試進度條,所以我可能只是缺少了一些東西沒有看到。 感謝您提供的任何幫助! 我真的很感激!
package com.example.progresstracker;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
public class MainActivity extends Activity {
Button add;
ProgressBar mProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mProgress.setProgress(0);
mProgress.setMax(100);
add = (Button) findViewById(R.id.bAdd);
mProgress = (ProgressBar) findViewById(R.id.prog);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText eText = (EditText) findViewById(R.id.edit);
String message = eText.getText().toString();
int num = Integer.parseInt(message);
mProgress.incrementProgressBy(num);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
嘗試把這條線
mProgress = (ProgressBar) findViewById(R.id.prog);
在這行之前
mProgress.setProgress(0);
您需要先初始化mProgress,然后才能開始調用其方法。
Ps如果遇到錯誤,將堆棧跟蹤與代碼一起包括總是有用的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.