如何在android中使用textview自动显示数组值

时间:2014-09-11 07:53:31

标签: android

我想知道我想在一个特定的时间间隔内一个接一个地显示字符串。

一切都很好。在我的代码中

我想知道,当第二个字符串打印覆盖第一个字符串和第三个字符串覆盖第二个等等...在android中使用文本视图一旦我点击按钮所有值一个接一个地自动出现

以固定的时间间隔

我该怎么做?

这是我的代码:

公共类GameScreen扩展了Activity实现OnClickListener {

Button start;

EditText type;

TextView Display;

@Override
protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);

    setContentView(R.layout.gamescreen);

    Toast.makeText(this, "Game Screen", Toast.LENGTH_LONG).show();

    init();
}

private void init() {

    Display = (TextView) findViewById(R.id.tvdisplay);

    start = (Button) findViewById(R.id.bstart);

    start.setOnClickListener(this);

}

@Override
public void onClick(View v) {

    switch (v.getId()) {

    case R.id.bstart:

        String arr[] = { "mahtab", "hussain", "yasir", "azmi", "saif" };


        for (int i = 0; i < arr.length; i++) {

            Display.setText(arr[i]);


            try {

                Thread.sleep(5 * 1000);

            } catch (InterruptedException e) {


                e.printStackTrace();
            }
        }

        break;
    }

}

}

3 个答案:

答案 0 :(得分:0)

尝试这样的事情。

Button start;

EditText type;

TextView Display;

private String displayText = "";

@Override
protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);

    setContentView(R.layout.gamescreen);

    Toast.makeText(this, "Game Screen", Toast.LENGTH_LONG).show();

    init();
}

private void init() {

    Display = (TextView) findViewById(R.id.tvdisplay);

    start = (Button) findViewById(R.id.bstart);

    start.setOnClickListener(this);

}

@Override
public void onClick(View v) {

    switch (v.getId()) {

    case R.id.bstart:

        String arr[] = { "mahtab", "hussain", "yasir", "azmi", "saif" };


        for (int i = 0; i < arr.length; i++) {

            displayText = displayText + arr[i];    
            Display.setText(displayText);


            try {

                Thread.sleep(5 * 1000);

            } catch (InterruptedException e) {


                e.printStackTrace();
            }
        }

        break;
    }

}

答案 1 :(得分:0)

在主线程中睡觉并不好。您可以使用句柄来休眠并将消息发布到主线程,并在主线程中更新textview。

答案 2 :(得分:0)

使用倒数计时器:

// 30000 -FOR多久 // 1000-间隔后文本将改变

int i=0;
new CountDownTimer(30000, 1000) {       
   public void onTick(long millisUntilFinished) {          
   mTextField.setText("" + array[i]);
    i++;        
}       

public void onFinish() {         
   mTextField.setText("done!");    
}   
}.start();