Привет, я новичок в потоковой передаче в целом, и я пытаюсь настроить индикатор выполнения, который увеличивается каждые полсекунды до 100, используя метод sleep. У меня возникли проблемы с использованием большого количества синтаксиса, который я нашел в сети, и когда я запускаю эту программу, он не отображает индикатор выполнения, а отображает значок вращающейся загрузки. Это то, что у меня есть:Создание индикатора выполнения для android
public class main extends ActionBarActivity {
Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button startButton = (Button) findViewById(R.id.startbutton);
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(1);
startPb();
}
});
}
private void startPb(){
final ProgressBar pb = (ProgressBar) findViewById(R.id.progressBar);
pb.setIndeterminate(false);
pb.setProgress(0);
new Thread(new Runnable(){
public void run(){
for (int i = 0; i <= 100; i++)
try {
Thread.sleep(500);
pb.setProgress(i);
System.out.println(i);
} catch (InterruptedException e) {
e.printStackTrace();
}
pb.post(new Runnable() {
public void run() {
pb.incrementProgressBy(1);
}
});
}
}).start();
}
У меня такое чувство, что я не правильно реализую индикатор выполнения в приведенном выше коде. Layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".Counter"
android:id="@+id/counter"
tools:ignore="InvalidId">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="startButton"
android:id="@+id/startbutton"
android:layout_centerHorizontal="true" />
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_below="@+id/startbutton"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Так в чем проблема? – Sievajet
В нем не отображается панель, она отображает вращающийся круг ... кроме того, крутящий круг отображается сам при запуске приложения; вроде как приложение загружается – kpce
использовать 'progressBarStyleHorizontal' вместо' progressBarStyleLarge' – njzk2