因此,我已经看到一些类似的其他帖子,但没有完全回答我正在寻找的。
基本上,onCreate正在加载内容(文本视图和图像),它还打开了另一个线程来准备媒体播放器,这样当按下按钮时,它就会播放特定的歌曲。如果打开此活动并快速按下按钮,则不会播放任何内容(我认为这是因为它还没有机会准备)。如果我打开该活动并等待片刻,它就能正常工作。我确实意识到,在onCreate中运行加载的内容并不是最好的,但我试图让它加载到其他线程中,但它失败了。对我来说一切都很好,我真正想要发生的是这件事。
我需要一些方法来防止使用按钮或让他们知道它正在加载约3-5秒。所以,要么让按钮淡出并在3-5秒内不可用,然后它就会变成活动状态,要么是一个透明的加载屏幕,覆盖整个活动大约3-5秒。如果你提到使用其他线程,你可以演示它,如果它不是要求太多,或者给我展示一些类似教程的东西(除了谷歌笔记)。我对线程的理解还不是很好(对它们来说还很陌生),而且AsyncThread对我来说也很困惑。
如果你需要代码,让我知道你想要张贴什么。谢谢,我很感谢任何人的帮助。
发布于 2011-09-16 04:33:40
你可以在你的MediaPlayer上设置一个setOnPreparedListener,在这个监听程序中,你启用你的按钮并保存,歌曲就可以播放了。Docs
发布于 2011-09-16 05:11:59
我会创建一个控制按钮行为的xml选择器文件。类似于:
<?xml version="1.0" encoding="utf-8"?>
<item android:state_enabled="true" android:drawable="@drawable/lbl_black_matte" />
<item android:state_enabled="false" android:drawable="@android:color/transparent">
</item>
然后,在你的活动中:
private Button mActivate;mActivate =(按钮) findViewById(R.id.activate);mActivate.setOnClickListener(此);
然后,在某个地方,您将检查魔术是否准备就绪,如果是,则激活按钮:
if (mEnabled) {
mActivate.setEnabled(true);
}最后,必须在创建按钮的xml文档中引用按钮行为选择器。
android:layout_width="match_parent">
<Button android:id="@+id/activate"
android:background="@drawable/b_behaviour" android:layout_height="wrap_content"
android:layout_margin="8dip" android:layout_width="match_parent"
android:text="@string/setup_label_enable" android:textColor="@android:color/white"
android:textStyle="bold">
</Button>请让我知道,如果这是清楚的,或者如果你需要我解释如何创建点击监听器。
祝好运!
https://stackoverflow.com/questions/7437068
复制相似问题