isFinishing()
在http://developer.android.com/reference/android/app/Activity.html上阅读Android文档后,我感到困惑
如果我打电话isFinishing()
的onPause()
,返回值是什么isFinishing()
呼,应在以下3个方案是什么?
我确信在方案1中结果finish()
将是真的,在方案3 中将是错误的.
情景2怎么样?在方案2中会isFinishing()
返回true还是false?
我有点困惑MeasureSpec.UNSPECIFIED
和MeasureSpec.AT_MOST
.我知道,当match_parent
或恒定的尺寸值被设置为layout_width
或layout_height
,MeasureSpec.EXACTLY
将测量视图时被应用.
然后,怎么样MeasureSpec.UNSPECIFIED
和MeasureSpec.AT_MOST
?
我的理解是,当layout_width
或layout_height
设置为wrap_content
,MeasureSpec.UNSPECIFIED
将被应用,因为wrap_content
装置的图的高度或宽度可以是根据内容的任何尺寸.但很多文章都表示这wrap_content
意味着MeasureSpec.AT_MOST
.所以我很困惑.我不知道什么时候MeasureSpec.AT_MOST
应该应用.
我在HTML页面中有一个链接:
<a href="#foo">foo</a>
Run Code Online (Sandbox Code Playgroud)
链接文本的颜色最初为蓝色.单击链接时,链接文本的颜色将首先更改为红色,然后再更改为蓝色.我希望链接文本的颜色在用户点击时不会改变.我怎样才能实现呢?
我试过了
a:active {
color: none;
}
Run Code Online (Sandbox Code Playgroud)
在CSS中,但没有运气.
我不想在CSS中使用它:
a:active {
color: blue;
}
Run Code Online (Sandbox Code Playgroud)
,因为链接文本的原始颜色可以是蓝色以外的其他颜色.
谢谢.
编辑:页面显示在iPhone浏览器上,我想创建一个:active来保持原始链接文本颜色.
我有一个带BaseAdapter的ListView.在XML中,我将项目分隔符指定为红色,高度为10dip.
<ListView android:layout_width="fill_parent"
android:layout_height="0px"
android:id="@+id/lv"
android:layout_weight="1"
android:cacheColorHint="#00000000"
android:divider="#FF0000"
android:dividerHeight="10dip"
android:fadingEdge="none">
</ListView>
Run Code Online (Sandbox Code Playgroud)
但是,当应用程序运行时,我没有看到项目之间的红色分隔符.有人可以告诉我为什么吗?谢谢.
编辑:在我的适配器代码中,我有以下代码:
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
因为我想控制每个项目的onClick行为.我不知道上面的代码是否会使分隔符消失.
我的活动堆栈是A1 B A2,顶部是A2.
A1和A2是相同活动的实例,A.现在在A2中,我希望A2退出并将A1带到前面,所以最后的堆栈应该是B A1.我该如何实施呢?
我执行的当前代码是:
finish();
intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
上面的代码将B带到了前面,所以最后的堆栈是A1 B,这不是我的预期.
任何的想法?
谢谢.
在这篇文章中,异步.js文件加载语法,有人说,"如果存在async属性,那么脚本一旦可用就会异步执行."
(function() {
var d=document,
h=d.getElementsByTagName('head')[0],
s=d.createElement('script');
s.type='text/javascript';
s.async=true;
s.src='/js/myfile.js';
h.appendChild(s);
}()); /* note ending parenthesis and curly brace */
Run Code Online (Sandbox Code Playgroud)
我的问题是,"脚本将异步执行"是什么意思?这个脚本是否会在与页面中其他javascripts不同的线程中执行?如果是,我们是否应该担心两个线程中的同步问题?
谢谢.
我的应用经常抛出异常,如下所示:
E/WindowManager(6282):android.view.WindowLeaked:活动com.myActivity泄露了最初添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4479b710
当主要活动开始并启动任务时,应用程序会显示进度对话框.任务完成后,它将关闭进度对话框.
我的代码如下.有人能帮我吗?
public class MyActivity extends Activity {
private static int ID_DIALOG_PROGRESS = 2001;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
showDialog(ID_DIALOG_PROGRESS);
new MyTask().execute(null, null, null);
}
@Override
protected Dialog onCreateDialog(int id) {
if (id == ID_DIALOG_PROGRESS) {
ProgressDialog loadingDialog = new ProgressDialog(this);
loadingDialog.setTitle("");
loadingDialog.setMessage("");
loadingDialog.setIndeterminate(true);
loadingDialog.setCancelable(false);
return loadingDialog;
}
return super.onCreateDialog(id);
}
private class MyTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... arg0) {
/* Do something expensive here...*/
/* Start other activity*/
Intent intent …
Run Code Online (Sandbox Code Playgroud) 我尝试在下面的代码中同步一个对象:
public void myMethod() {
synchronized (globalObj) {
//Do something here
}
}
Run Code Online (Sandbox Code Playgroud)
代码在一个线程中执行.问题是,另一个线程可能将'globalObj'设置为null.然后,当'globalObj'被其他线程设置为null时,'synchronized(globalObj)'将抛出NullPointerxception.
同步对象的最佳做法是什么,因此不会抛出NullPointerException?
谢谢.
我有以下代码:
public class Outer {
public Interface Anony {
public void callback();
}
public Outer() {
OtherClass.foo(new Anony() {
@Override
public void callback() {
....
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
但我的朋友告诉我,它有一些问题.我在Outer的构造函数中创建了一个匿名类实例,因此匿名类实例隐式引用了外部类实例,即Outer.this.但此时,外类实例还没有完全创建.因此,匿名类实例引用具有不完整状态的对象,因此问题.
他是对的吗?谢谢.
我的活动堆栈是ABC,C位于顶部.使用startActivityForResult()启动B.
现在,在C中,它启动A并使用以下代码清除顶部:
finish();
intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我的问题是,在执行上面的代码之后,是否会调用A中的onActivityResult()?我预计它会,因为B在C开始A并且清除顶部后被销毁.但是,我的测试代码显示A中的onActivityResult()未被调用.我很迷惑.有人可以帮忙吗?
谢谢.