我已经正确设置了按钮和布局,但是我有一个动态更改按钮中文本的问题
| 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个按钮可以做同样的事情。
答案 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);