问题列表 - 第40468页

使用Cursor和ListView适配器获取大量数据

我正在使用自定义CursorAdapter从SQLite数据库中获取数据并在列表视图中显示它.该数据库包含2列,大约8.000行.所以我正在寻找一种方法来查询和尽快显示所有数据.我用asyncTask完成了这个是代码:

private class PrepareAdapter extends AsyncTask<Void,Void,CustomCursorAdapter > {

 @Override
 protected void onPreExecute() {
     dialog.setMessage("Wait");
     dialog.setIndeterminate(true);
     dialog.setCancelable(false);
     dialog.show();


     Log.e("TAG","Posle nov mAdapter");
 }

 @Override
 protected CustomCursorAdapter doInBackground(Void... unused) {

   Cursor cursor =  myDbNamesHelper.getCursorQueryWithAllTheData();
   mAdapter.changeCursor(cursor);
   startManagingCursor(cursor);
   Log.e("TIME","posle start managing Cursor" + String.valueOf(SystemClock.elapsedRealtime()-testTime)+ " ms");
     testTime=SystemClock.elapsedRealtime();

     mAdapter.initIndexer(cursor);
     return mAdapter;
 }

 protected void onPostExecute(CustomCursorAdapter result) {

     TabFirstView.this.getListView().setAdapter(result);
     Log.e("TIME","posle adapterSet" + String.valueOf(SystemClock.elapsedRealtime()-testTime)+ " ms");
    testTime=SystemClock.elapsedRealtime();
     dialog.dismiss();
 }
Run Code Online (Sandbox Code Playgroud)

}

除了我需要将结果设置为适配器的部分之外,这个工作正常.我做了一些时间测试,需要大约700毫秒来使它超过startManagingCursor.问题是它需要大约7秒才能超过setAdapter(结果)并且它在UI线程中运行,因此它使我的应用程序无响应(进度对话框冻结,有时会执行应用程序).我如何减少这个时间?我可以使这也在后台运行或以任何方式提高响应能力?

TNX.

public class CustomCursorAdapter extends SimpleCursorAdapter implements OnClickListener,SectionIndexer,Filterable,
                                    android.widget.AdapterView.OnItemClickListener{

    private Context context;
    private int layout;
    private AlphabetIndexer …
Run Code Online (Sandbox Code Playgroud)

database android listview adapter

7
推荐指数
1
解决办法
2万
查看次数

python unicode支持

我试图弄清楚如何在python中使用unicode支持; 我想将此字符串转换为unicode:"ABCDE" - >"\ x00A\x00B\x00C\x00D\x00E"

任何内置函数都可以做到,或者我应该使用join()?

谢谢 !

python unicode

1
推荐指数
1
解决办法
743
查看次数

PHP:在循环中合并数组

   public function getCheckoutForm(){
   $arr = array(
        'cmd' => '_cart',
        'business' => 'some@mail',
        'no_shipping' => '1',
        'upload' => '1',
        'return' => 'url',
        'cancel_return' => 'url1',
        'no_note' => '1',
        'currency_code' => 'url2',
        'bn' => 'PP-BuyNowBF');

   $cpt=1;
   foreach($this->items as $item){
        $arr1[] = array(
            'item_number_'.$cpt.'' => $item['item_id'],
            'item_name_'.$cpt.'' => $item['item_name'],
            'quantity_'.$cpt.'' => $item['item_q'],
            'amount_'.$cpt.'' => $item['item_price']
            );
        $cpt++;
   }
    return array_merge($arr,$arr1[0],$arr1[1]);
}
Run Code Online (Sandbox Code Playgroud)

这将返回这样的数组:

    Array
(
    [cmd] => _cart
    [business] => some@mail
    [no_shipping] => 1
    [upload] => 1
    [return] => url1
    [cancel_return] =>url2
    [no_note] => …
Run Code Online (Sandbox Code Playgroud)

php arrays merge loops

4
推荐指数
1
解决办法
2万
查看次数

使用Devise after_sign_in_path_for重定向循环

我有一点菜鸟问题.我想设计重定向到用户访问的最后一页.所以我做了以下......

def after_sign_in_path_for(resource)
    request.referer
end
Run Code Online (Sandbox Code Playgroud)

效果很好......除非用户实际通过原始表单登录导致重定向循环.

我试过了

def after_sign_in_path_for(resource)
   if (request.referer == "/users/sign_in")
  :pages_home
 else
  request.referer
 end

end
Run Code Online (Sandbox Code Playgroud)

但这不起作用,很可能是因为我不知道request.referer在遇到原始用户登录页面时实际返回了什么(www.example.com/users/sign_in).

有任何想法吗?

tldr; 使用devise,我想重定向到从(/ blog/4)登录的页面,除非页面是/ users/sign_in

解决了:

Matchu是对的.request.referer也返回了域名......

http://example.com/users/sign_in
Run Code Online (Sandbox Code Playgroud)

(注意:没有www前缀)

如果它是一种不安全或低效的方式,我仍然对request.referer的替代方案感兴趣.

ruby-on-rails devise ruby-on-rails-3

9
推荐指数
1
解决办法
1万
查看次数

HTML不再适用于JLabel(和其他组件)

我有一个我编写的java applet,并且已经运行了很长一段时间.在applet中,我有一堆在其文本内容中使用HTML的JLabel(这是允许的,并且已经工作多年).我使用HTML的主要原因是允许JLabel中的换行符.

问题:最近,其中包含HTML的JLabel(有些没有)停止显示其文本.我认为它可能与最近的Java更新(2010年10月12日的Java SE 6 Update 22)有关,但不是100%肯定,但问题似乎确实在那时开始.也许已经引入了一个bug?或删除功能?

我尝试使用JEditorPane,当内容为HTML时,似乎也有同样的问题.

另外需要注意的是,第一次加载applet时(第一次启动java运行时)它运行起来很精细,但如果刷新网页则会出现上述问题.

有没有人有类似的问题?有谁有任何见解?或者我只是在做一些愚蠢的事情?

我做了一个非常简单的测试applet,我可以100%规律地重现问题(记住第一次运行时加载它会工作正常,只有连续的刷新会导致问题):

[HelloWorldApplet.java]

import javax.swing.*;

public class HelloWorldApplet extends JApplet
{
    public void init()
    {
        this.add(new JLabel("Hello Everybody (Text)"), java.awt.BorderLayout.NORTH);
        this.add(new JLabel("<html><body>Hello Everybody (HTML)</body></html>"), java.awt.BorderLayout.SOUTH);
    }
}
Run Code Online (Sandbox Code Playgroud)

[HellowWorldApplet.html]

<html>
<title>A Test</title>
<body>
    <applet code="HelloWorldApplet.class" width="320" height="120">
        You need Java
    </applet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

PS.我一直主要使用Chrome测试,但我也在IE 8中尝试过.此外,我(显然)安装了最新的Java SE 6更新22作为我的运行时间,并具有我的JDK的匹配更新.我使用简单的编译上面的测试applet:"javac HelloWorldApplet.java"

java applet

9
推荐指数
1
解决办法
2779
查看次数

将参数从C传递给汇编?

如何将参数从C main函数传递给汇编函数?我知道我的自定义函数必须看起来像:

void function(char *somedata) __attribute__((cdecl));
Run Code Online (Sandbox Code Playgroud)

现在我将如何somedata在程序集文件中使用.我的操作系统是Linux Ubuntu,我的处理器是x86.

c assembly cdecl

2
推荐指数
1
解决办法
7082
查看次数

切换到另一个Git标签

如何查看rspec软件包的版本/标签1.1.4 ?

cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Run Code Online (Sandbox Code Playgroud)

git github git-tag

159
推荐指数
2
解决办法
17万
查看次数

Stack Overflow的404 polygot中使用了哪些语言?

目前,当这里的用户获得404时,他们会看到以下图像:

polygot-404.png http://sstatic.net/stackoverflow/img/polyglot-404.png

代表文字:

# define v putchar
#   define print(x) main(){v(4+v(v(52)-4));return 0;}/*
#>+++++++4+[>++++++<-]> ++++.----.++++.*/
print(202*2);exit();
#define/*>.@*/exit()
Run Code Online (Sandbox Code Playgroud)

这看起来可疑polyglottish.哪些语言有用?


一边想:这只是我,还是我在Prettify中发现了一个错误?

programming-languages polyglot

15
推荐指数
2
解决办法
1545
查看次数

在java中通过HTTP发送SOAP消息

我有以下代码:

  String xmldata = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + 
        "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\" " + 
          "xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" " + 
          "xmlns:ns1=\"http://org.apache.axis2/xsd\"  " + 
          "xmlns:ns=\"http://tfc\" " +
          "xmlns:wsaw=\"http://www.w3.org/2006/05/addressing/wsdl\" " +
          "xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\"  " +
          "xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"" +
          "xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\"  " +
          "xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\"  " +
          "xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\"  " +
          "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"  " +
          "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" > " +
          "<SOAP-ENV:Body>" +
              "<ns:CalFare xmlns:ns=\"http://tfc\">" +
              "<ns:nonairport>1</ns:nonairport>" +
              "<ns:distance>20</ns:distance>" +
              "</ns:CalFare>" +
          "</SOAP-ENV:Body>" +
          "</SOAP-ENV:Envelope>";

          //Create socket
          String hostname = "128.196.239.112";
          int port = 8080;
          InetAddress  addr = InetAddress.getByName(hostname);
          Socket sock = new Socket(addr, port); …
Run Code Online (Sandbox Code Playgroud)

java soap web-services

1
推荐指数
1
解决办法
1万
查看次数

如何在mercurial中找到我的工作版本

在一个mercurial repo中,我可以运行hg up {revision}来更改我的工作目录的修订版,但是我可以运行什么命令来发现我正在查看的修订版本?

mercurial

58
推荐指数
3
解决办法
2万
查看次数