这就是我想要实现的目标:
活动以没有ClickListener开始,并且有四个文本视图都具有白色背景
我想将textview 1的颜色更改为蓝色.等待2秒钟然后将其更改为白色并将textview 2更改为蓝色.等待2秒然后将其改回白色......依此类推,直到我将textview 4变为蓝色并返回白色.
完成后,我想添加ClickListener并等待用户输入.
我怎样才能做到这一点?我是Android的新手但是理解点点滴滴.
当我单击列表项时,我想打开一个ProgressDialog,它打开了Web服务所单击项的数据.需要出现ProgressDialog,直到单击的项的WebContent被打开.
我知道使用Progress Dialog的代码,但我不知道如何解雇它.
我听说Handler将用于解雇Progress Dialog,但我没有找到最终使用Handler的任何有价值的例子.
任何人都可以告诉我如何使用处理程序来关闭进度对话框?
谢谢,大卫
我在我的应用程序中使用处理程序,在一个屏幕中通过单击按钮将调用一组代码.要调用该组代码,我将消息发送到处理程序并覆盖句柄消息方法.第一次单击按钮时,处理程序完美运行并执行代码集.当我第二次点击该按钮时,我得到以下异常.
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): FATAL EXCEPTION: main
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): android.util.AndroidRuntimeException: { what=1 when=7381217 obj=android.app.AlertDialog@462b5c58 } This message is already in use.
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:171)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessageAtTime(Handler.java:457)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessageDelayed(Handler.java:430)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessage(Handler.java:367)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.mysnob.utils.MessageDialog$8.onClick(MessageDialog.java:93)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Looper.loop(Looper.java:144)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.app.ActivityThread.main(ActivityThread.java:4937)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at java.lang.reflect.Method.invokeNative(Native Method)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at java.lang.reflect.Method.invoke(Method.java:521)
05-03 09:45:25.703: …Run Code Online (Sandbox Code Playgroud) 我正在使用UIDocumentInteractionController在另一个应用程序DropBox中打开一个文件.
我想要做的是在另一个特定的应用程序中打开该文件,但我只管理到目前为止显示支持的应用程序并允许用户选择.
UIDocumentInteractionController *udi = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath: jpgPath]];
[udi retain];
CGRect r = CGRectMake(0, 0, 300, 300);
[udi presentOpenInMenuFromRect:r inView:self.view animated:YES];
Run Code Online (Sandbox Code Playgroud)
这提供了支持的应用程序列表,但我想使用dropbox直接打开文件,而不使用选项框.有任何想法吗?
我在Android中进行单元测试时遇到问题.
我的对象MyObject有一个start()这样的方法:
public void start() {
final Handler onStartHandler = new Handler();
new Thread() {
@Override
public void run() {
super.run();
onStartHandler.post(new Runnable() {
@Override
public void run() {
mIsRunning = true;
onStart();
}
});
}
}.start();
}
Run Code Online (Sandbox Code Playgroud)
我想测试onStart()是否被调用.所以我尝试了类似的东西:
public void testOnStartIsCalled() {
assertFalse("onStart() should not be called", mMyObject.isRunning());
mMyObject.start();
assertTrue("onStart() should be called", mMyObject.isRunning());
mMyObject.stop();
assertFalse("onStop() should be called", mMyObject.isRunning());
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我想这是因为它在Handler和一个新线程中.
我的测试类扩展了AndroidTestCase.我该怎么办 ?这种情况的最佳做法是什么?
问候.
Android中的Handler用于在类之间发送消息.例如:
public class Foo
{
private Handler handler;
public Foo(Handler handler)
{
this.handler = handler;
// ...
}
public void fooMethod()
{
// ...
handler.obtainMessage("blah blah").sendToTarget();
}
}
Run Code Online (Sandbox Code Playgroud)
主要:
public class Main
{
private Handler handler;
public Main()
{
handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
// handle the message that is sent from Foo
}
};
Foo f = new Foo(handler);
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我在Java中寻找类似的技术,还是应该实现自己的处理程序?
Windows 7
Python 2.7.3
Django 1.5
python manage.py runserver
我正在关注" https://docs.djangoproject.com/en/1.5/intro/tutorial03/ "上提供的教程.
在事情变得奇怪之前,我得到了"写一个404(页面未找到)视图".
我试图找出如何制作自定义404视图.但是,我不确定:
答:自定义404.html文件应该驻留在哪里.它应该在我的项目目录树中还是在我的Django目录树中.我的项目目录树看起来像这样,
1> mysite
2> - mysite
3> - polls
4> - templates
5> - polls
6> - templates
7> - admin
Run Code Online (Sandbox Code Playgroud)
目前404.html是@ 6>
B.必须在哪些地方进行哪些修改?我知道需要在'root'url conf中设置handler404和handler500.我有一个url.py驻留在@ 2>和3>(参见上面的树).假设2>是正确的位置我假设语法如下,
handler404 = 'templates.404'
handler500 = 'templates.500'
Run Code Online (Sandbox Code Playgroud)
还需要设置什么,在哪里?
我正在研究蓝牙rfcomm连接.Android Sample中有一行我无法理解,不幸的是我在其他问题和资源中找不到合适的答案.
这是整个代码:
public void run() {
byte[] buffer = new byte[1024]; // buffer store for the stream
int bytes; // bytes returned from read()
// Keep listening to the InputStream until an exception occurs
while (true) {
try {
// Read from the InputStream
bytes = mmInStream.read(buffer);
// Send the obtained bytes to the UI activity
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
.sendToTarget();
} catch (IOException e) {
break;
}
}
}
/* Call this from the main activity to send …Run Code Online (Sandbox Code Playgroud) 我的静态处理程序有一个WeakReference对我Activity(这是为了防止记录良好的内存泄漏问题).
我发布了一条很长的延迟消息,我希望这条消息传递给我的活动(应该在前台).
我担心的是,在方向改变时,我的活动被破坏,处理程序引用了应该被销毁的旧活动.
为了在我onCreate的活动中解决这个问题,我这样做了.
if(mHandler == null)
mHandler = new LoginHandler(this);
else {
mHandler.setTarget(this);
}
Run Code Online (Sandbox Code Playgroud)
我的处理程序被声明为一个静态全局变量:
private static LoginHandler mHandler = null;
Run Code Online (Sandbox Code Playgroud)
并且实现类也是静态的,如下所示:
private static class LoginHandler extends Handler {
private WeakReference<LoginActivity> mTarget;
LoginHandler(LoginActivity target) {
mTarget = new WeakReference<LoginActivity>(target);
}
public void setTarget(LoginActivity target) {
mTarget = new WeakReference<LoginActivity>(target);
}
@Override
public void handleMessage(Message msg) {
// process incoming messages here
LoginActivity activity = mTarget.get();
switch (msg.what) {
case Constants.SUCCESS:
activity.doSomething();
break;
default: …Run Code Online (Sandbox Code Playgroud) 我想知道View.postDelayed当视图与父视图分离时,传递的runnable是否会被自动删除.
我查看了View课程的来源,并将其发布给了一些Handler外面的内容.但该处理程序的生命周期尚不清楚.
有人知道答案吗?
handler ×10
android ×8
java ×2
bluetooth ×1
exception ×1
inputstream ×1
ios ×1
iphone ×1
listener ×1
objective-c ×1
unit-testing ×1
view ×1