我正在阅读Lars Vogel关于使用Fragments 的教程,我遇到了以下代码:
android:layout_marginTop="?android:attr/actionBarSize"
Run Code Online (Sandbox Code Playgroud)
我不确定是什么?android:attr意思,特别是问号.
我遇到了这段代码:
public class RestfulAdage extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> set = new HashSet<Class<?>>();
set.add(Adages.class);
return set;
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白是什么Class<?>意思.
以下ArrayList填充ArrayAdapter.
List<String> hold_people = new ArrayList<String>();
hold_people.add("Frank");
hold_people.add("Bob");
hold_people.add("Tom");
hold_people.add("Alice");
hold_people.add("Glen");
Run Code Online (Sandbox Code Playgroud)
弗兰克在第一位.但是用户希望先看到Alice.怎么把Alice移到第一个位置?
我不能按字母顺序排序,因为我必须根据用户请求维护一定的顺序.
我创建了以下后台线程:
public class loadSomeStuff extends AsyncTask <String, Integer, String>
{
@Override
protected String doInBackground(String... params) {
Intent i = new Intent("com.example.nadir_services.himan.class"); startActivity(i);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
我还创建了一个按钮,我在其中调用此线程:
new loadSomeStuff().execute("");
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,每次按下这个按钮,它会创建一个新线程吗?如果是这样,为什么那么糟糕?我的意思是,会发生什么?
还有一个问题,我注意到这被称为"后台线程".这是否意味着有另一种方法来创建新线程?我只知道这种方式.