在我的Activity中,我使用了一个从AsyncTask扩展的类和一个参数,该参数是AsyncTask的一个实例.我打电话的时候mInstanceOfAT.execute("")一切都很好.但是当我按下再次调用AsyncTask的更新按钮时应用程序崩溃(如果网络作业不起作用).因此出现了一个例外情况
无法执行任务:任务已经执行(任务只能执行一次)
我试过为Asyctask的实例调用cancel(true),但它也不起作用.到目前为止唯一的解决方案是创建Asyntask的新实例.这是正确的方法吗?
谢谢.
是否可以为AsyncTask的后台线程命名,就像Java中的普通线程一样:
Thread(Runnable target, String name)
Run Code Online (Sandbox Code Playgroud)
我已经看到了AsyncTask的代码,默认构造函数默认只提供一个名称
private static final ThreadFactory sThreadFactory = new ThreadFactory() {
private final AtomicInteger mCount = new AtomicInteger(1);
public Thread newThread(Runnable r) {
return new Thread(r, "AsyncTask #" + mCount.getAndIncrement());
}
};
Run Code Online (Sandbox Code Playgroud)
我想这样做,因为当我调试时,我想知道哪个Asynctask正在访问辅助类中的方法.
我一直在StackOverflow Android中获取当前UTC时间, 并且 如何在Java中获取UTC或GMT中的当前日期和时间?
我尝试了两种方法来获取GMT手机的当前时间.我在西班牙,区别是GMT + 2.让我们看一个例子:1º尝试:我创建了一个格式并将其应用于System.currentTimeMillis();
DateFormat dfgmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
dfgmt.setTimeZone(TimeZone.getTimeZone("GMT"));
String gmtTime = dfgmt.format(new Date());
//Using System.currentTimeMillis() is the same as new Date()
Date dPhoneTime = dfgmt.parse(gmtTime);
Long phoneTimeUTC = dPhoneTime.getTime();
Run Code Online (Sandbox Code Playgroud)
我需要将那个时间减去另一个时间,这就是为什么我将演员阵容变为Long.
DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date arrivalDate = df.parse(item.getArrivalDate());
//the String comes from JSON and is for example:"UTC_arrival":"2011-05-16 18:00:00"
//which already is in UTC format. So the DateFormat doesnt have the GMT paramater as dfgmt
diff = arrival.getTime() - phoneTimeUTC ;
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
Calendar …Run Code Online (Sandbox Code Playgroud) 如果资源中已经存在像 #4D4D4D 这样的颜色,我如何在 Xcode 中搜索?我尝试通过十六进制代码进行搜索,但没有显示任何内容。
我有一个ListView,包含这个布局的项目:
<LinearLayout ...>
<LinearLayout ...>
<!--Elements -->
</LinearLayout>
<LinearLayout ...>
<!--Elements -->
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
所以我的项目有两个不同的部分.我希望能够在每个项目中设置不同的onclickListener(每个LinearLayout一个).到目前为止,我已经尝试覆盖onListItemClick,但它似乎没有正常工作:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
ViewGroup vg = (ViewGroup)v;
vg.getChildAt(0).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mCtx, "element1", Toast.LENGTH_SHORT).show();
}
});
vg.getChildAt(1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mCtx, "element2", Toast.LENGTH_SHORT).show();
}
});
}
Run Code Online (Sandbox Code Playgroud)
有任何想法如何解决这个问题?
谢谢.
您好我想测试UTF-8中的URL编码是否有一些在线工具可以做到这一点?我找到的最接近的是这个问题,最终建议在客户端使用GNU进行测试.
注意:我需要通过代码来做到这一点.就像在GET请愿书上发送角色一样.
我想知道何时使用每个适配器.根据我的经验,这篇文章 BaseAdapters在我从API获取数据时非常有用,并且我将它存储在Collection对象中.但是,CursorAdapter用于查询来自数据库,电话议程的内容......通常,内容也有内容提供者从中查询信息.
所以基本上BaseAdapter用于没有内容提供者访问它们的查询,因为在这种情况下,CursorAdapter将是最佳选择.是对的吗?
我对Android中的服务有疑问.我想知道从GPS获取Location变量的最佳方法是什么.我正在使用一个实现GPS模块的服务进行地理定位的应用程序.为了获取位置,我在类静态和公共方法静态中创建一个变量,从类外部调用,就是这样.要从我在课堂上使用的GPS中检索位置:
位置mLocation = ServiceGPS.getLocation(); ServiceGPS类具有以下方法:
public static Location getLocation(){return mLocation; }
在这种情况下,我真的没有看到绑定到服务的重点,因为我只需要调用静态方法.我也在考虑做一个基类或实现LocationListener,但这种方式非常简单,它可以工作并节省代码写入.
非常感谢您的帮助,并与我分享您的知识.
BR.大卫.
我正在向ListActivity动态添加一个按钮.如下:
setContentView(R.layout.listview_singlegrey);
LayoutInflater inflater = (LayoutInflater)this.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout linear = (LinearLayout) findViewById(R.id.list_comment);
Button btAddComment = (Button)inflater.inflate(R.layout.bt_yellow,null);
FrameLayout.LayoutParams lyp1 = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
lyp1.gravity = Gravity.RIGHT;
btAddComment.setLayoutParams(lyp1);
btAddComment.setText("Añadir comentario");
Run Code Online (Sandbox Code Playgroud)
listview的LinearLayout是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:orientation="vertical"
android:layout_height="fill_parent" android:id="@+id/list_comment"
android:paddingLeft="10dp" android:paddingRight="10dp" android:background="@drawable/fondomain">
<ListView android:id="@+id/android:list" android:listSelector="@android:color/transparent"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:divider="@layout/linedivider" android:dividerHeight="10px"
android:cacheColorHint="#0000" android:paddingTop="10dp"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我正在膨胀的按钮布局是:
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/wrapfill"
android:background="@layout/selectoryellowbutton" android:layout_gravity="right" android:padding="10dp"
android:textSize="16px" android:text="Añadir comentario" android:textStyle="bold" android:textColor="@color/darkergray">
</Button>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我已尝试在代码和按钮中设置layout_gravity参数,但它们都不起作用.我仍然显示屏幕左侧的按钮.似乎布局参数不起作用.但是,如果我为宽度设置fill_parent,我会在整个屏幕上显示按钮,我希望按钮包裹文本并对齐屏幕右侧.
android ×8
assets ×1
baseadapter ×1
button ×1
carousel ×1
colors ×1
date-format ×1
gmt ×1
gps ×1
java ×1
layoutparams ×1
listview ×1
onclick ×1
utf-8 ×1
validation ×1
xcode ×1