0

我是一名 PHP 开发人员,对 Android 开发和 Java 不熟悉,所以请多多包涵。

我正在开发一个非常简单的应用程序用于测试和学习目的。

当用户点击我的应用程序图标时,他们会看到一个加载屏幕。我有一个 TextView,下面有一个进度条。

文本视图 XML 代码:

<TextView
        android:id="@+id/loadingMessage1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/progressBar1"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="22dp"
        android:text="@string/loading1" />

该值设置为 strings.xml 中的字符串 loading1

<string name="loading1">Loading Message 1</string>

在我的 loadingscreen.java 我有:

package com.example.myfirstapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;


public class LoadingScreen extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loading_screen);

        TextView loadingMessage1 = (TextView)this.findViewById(R.id.loadingMessage1);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_loading_screen, menu);
        return true;
    }
}

注意我有代码:

TextView loadingMessage1 = (TextView)this.findViewById(R.id.loadingMessage1);

我认为这引用了文本视图。

我想要发生的是每 3 秒出现一条不同的消息。

所以加载消息 1...(3 秒)加载消息 2...(3 秒)加载消息 3..

加载消息 3 后,我想要一个按钮来替换进度条。

4

2 回答 2

2

您可以使用Handler该类:

final Handler handler = new Handler();
handler.post(new Runnable(){

    @Override
    public void run(){
        // change your text here
        handler.postDelayed(this, 3*1000L);
    }
});
于 2012-07-30T10:45:12.893 回答
0

您可能需要使用每 1 秒执行一次的计时器。阅读这篇精彩的 android 开发者博客文章,了解使用计时器和处理程序进行定期执行。

于 2012-07-30T10:45:20.720 回答