动态更改按钮文本

时间:2012-01-25 22:10:32

标签: java android

我已经正确设置了按钮和布局,但是我有一个动态更改按钮中文本的问题

| B | P | M | F |

单击字母b时:将b更改为e,f,g,每次更改字母停止1秒钟 单击字母p时:将p更改为q,r,s,每次字母更改停止2秒 等等。

我搜索了Google,许多结果显示我需要某种线程才能完成它。有人能指出我正确的方向吗?

由于

很抱歉,如果我不够清楚的话。我确切的问题是当用户触摸按钮4次时更改文本,暂停每个更改的文本1到2秒不完全。这是源代码的一部分

public class someClass extends Activity implements OnClickListener
{
    //Single Vowels
    Button a_button;
    MediaPlayer mp = new MediaPlayer();
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  

        MediaPlayer.OnCompletionListener completionListener = new MediaPlayer.OnCompletionListener()
        {
            public void onCompletion(MediaPlayer mediaP) 
            {
                mediaP.stop();
                mediaP.release();
            }
        };

        mp.setOnCompletionListener(completionListener);

        a_button = (Button)findViewById(R.id.a_button);
        a_button.setOnClickListener(this);
    }

    public void onClick(View v) 
    {
        switch(v.getId())
        {
              case R.id.a_button:
              mp = MediaPlayer.create(this, R.raw.a_multiple);
              mp.start();   
              break;
        }
    }
}

所以我想要做的是当用户按下按钮时,会有某种语音,例如,这是一个苹果,文本将随着语音而相应地改变。演讲是预先录制的,我所要做的就是试错,并将演讲与不断变化的单词相匹配。总共我有大约10个按钮可以做同样的事情。

2 个答案:

答案 0 :(得分:1)

是的,您需要使用线程。这是关于how to use threads in Android的好教程。您可以将它作为起点。

答案 1 :(得分:1)

你到底是什么问题?改变文字?暂停一两秒钟?

你有一些源代码吗?

要创建“Make ... in ... seconds”,您可以:

Handler handler = new Handler();

// Then call (in a Thread):

handler.postDelayed(new Runnable()
{
    public void run()
    {
        label1.setText("b");
    }
}, 1000);