相关疑难解决方法(0)

Android无限滚动列表两个方向

我正在试图弄清楚如何实现无限滚动列表.它将显示日历和事件,它应该从现在开始或选定日期开始.它应该可以在过去和将来的两个方向上滚动.这里的 OnScrollListener解决方案似乎工作得很好,如果我只需要去未来(索引只是变得更大).但我不明白我将如何回到过去.

这个解决方案似乎对我的情况非常浪费.getView被调用了数千次.也许ListView不是解决方案,我将不得不使用较低级别的代码.有任何想法吗?

编辑:getView被调用了数千次并不是后一种解决方案的错.但是,它仍会被调用太多次并且值不正确.如果我设置这样的选择:

myList.setSelection(Integer.MAX_VALUE的/ 2)

我得到索引从零开始的getView调用.例如,我得到这样的getView调用:

getView pos 0
...
getView pos 26
Run Code Online (Sandbox Code Playgroud)

然后

getView pos 1073741823
...
getView pos 1073741847
Run Code Online (Sandbox Code Playgroud)

哪些是正确的.然后:

getView pos 0
...
getView pos 26
Run Code Online (Sandbox Code Playgroud)

再次

这一切都发生在我滚动或触摸屏幕之前.似乎没有多大意义.

java android listview infinite-scroll

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

带有照片的Android列表视图

可能重复:
Android - 如何在ListView中延迟加载图像

美好的一天,我做了一个带有文本,图像和评级栏的列表视图.我通过使用ksoap已经完成的工具得到这些信息,它就像魅力一样!

现在有一个问题,正如我前面提到的,我确实在listview中有一个图像,如果我没有删除照片,它会变成这样laggy/slow response但是在我删除图像后,它将再次变得光滑只是与textview和评级栏.

如果我想要包含图像,如何解决滞后问题.请告诉我你是否需要一个例子,所以我会发布android .apk.我希望有一个解决方案.低于我在listview上的图像代码:

String s = strTitle[position];      
System.out.println(s);      
String image_URL = imageURL[position];      
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
Bitmap bm = LoadImage(image_URL, bmOptions);
ivLogo.setImageBitmap(bm);              
return rowView;

private Bitmap LoadImage(String URL, BitmapFactory.Options options)
{
    Bitmap bitmap = null;
    InputStream in = null;       
    try {
        in = OpenHttpConnection(URL);
        bitmap = BitmapFactory.decodeStream(in, null, options);
        in.close();
    } catch (IOException e1) {  }
    return bitmap;               
}

private InputStream OpenHttpConnection(String strURL) throws IOException{ …
Run Code Online (Sandbox Code Playgroud)

android listview

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

Android:加载facebook和twitter等数据

我只是想知道如何加载Twitter和Facebook应用程序的数据..

就像当你到达页面末尾时,你仍然在与UI进行交互,它显示了正在加载的更多数据.这是如何以编程方式完成的.

更清楚的是,当您到达某个点时向下滚动新闻源时,它会显示一个圆圈,表示正在加载更多数据,然后当有更多新的Feed可用时,您也可以滚动浏览它...我希望我足够清楚..我只是想知道这种情况是如何实施的..有什么例子吗?

android

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

Android:在ContentProvider中处理非常大的数据集以避免内存限制

我使用a ContentProvider来查询数据库并返回一个Cursor用于CursorLoader:

ItemsActivity:

public class ItemsActivity extends SherlockActivity implements LoaderCallbacks<Cursor> {

    @Override
    public void onCreate(Bundle savedInstance) {
        ....
        getSupportLoaderManager().initLoader(LOADER_ID, null, this);
        ...
    }

    @Override
    public Loader<Cursor> onCreateLoader(int loaderId, Bundle bundle) {
        return new CursorLoader(getApplicationContext(), itemsListUri, ...); 
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

ItemsContentProvider:

public Cursor query(Uri uri, String[] projection, String selection, ...) {
    SqliteQueryBuilder builder = new SqliteQueryBuilder();
    builder.setTables(ItemsTable.NAME);
    return builder.query(db, projection, selection, ...);
}
Run Code Online (Sandbox Code Playgroud)

活动有一个ListView,我使用CursorAdapter(通过更新LoaderCallbacks)来表示光标内的数据.

这工作正常,直到我需要查找大型数据集中的项目(例如,超过30,000行).观察日志我发现查找超出了内存限制,并且从结果游标中删除了一些行.

我的问题:在使用这样的游标时,处理非常大的数据集的最佳方法是什么?

我目前的解决方案是将SQLite查询ContentProvider拆分为具有偏移和限制的查询序列,然后使用MergeCursor …

sqlite android android-contentprovider android-cursorloader

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