相关疑难解决方法(0)

加载活动时显示进度条

我有一个基于列表选择ListActivity启动另一个Activity.第二个Activity需要从互联网上加载相当数量的数据,因此在用户点击项目和Activity显示时间之间存在明显的延迟.

这是一个问题,因为我目前无法向用户表明他们的点击正在被处理(即使只是更改所选列表项的颜色就足够了,但我找不到一个好方法).理想情况下,我可以ProgressDialog在第二个Activity加载时显示不确定的信息.

我已经为此尝试了一些不同的方法,但似乎没有任何工作.


我尝试过以下方法:

  • 在第一个AsyncTask中检索可序列化数据(不是全部而是部分)Activity,并将其作为额外的数据传递给第二个.这并没有真正起作用,因为ProgressDialog我创建的onPreExecute()并没有立即显示(doInBackground()由于某些原因,它似乎延迟了处理.)

这是代码:

AsyncTask<String, Void, String> read = new AsyncTask<String, Void, String>() {
    Dialog progress;

    @Override
    protected void onPreExecute() {
        progress = ProgressDialog.show(SearchActivity.this, 
                "Loading data", "Please wait...");
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        DatasetReader reader = new DatasetReader();
        reader.setFundID(params[0]);
        reader.addDatsets(FundProfile.datasets);
        reader.populate();
        return reader.toString();
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        progress.dismiss();
    } …
Run Code Online (Sandbox Code Playgroud)

android progressdialog android-asynctask

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

具有可见性的视图是否已设置为"已消失"测量和布局的一部分?

我的根布局中有3个布局.这些布局中只有一个是"可见的"而休息2将"消失".由于所有这些布局都很笨重,我担心:

  1. 在我对根xml进行充气后,所有3种布局都会消耗内存吗?
  2. 每次视图组无效或请求布局时,是测量和绘制所有视图组,还是只显示"可见"视图组?

其他细节(如果需要) - 我正在实现一个聊天窗口,它有3个状态 - 扩展,折叠和多个.此聊天窗口弹出窗口将位于我的应用程序中所有屏幕的底部,用户可以展开聊天.所有3个状态都不仅仅是imageview + textview,所以我选择了3种不同的布局(对于每个状态),并且一次只能看到其中一个.我不知道是否有更好的方法来实现这一目标.

performance android android-layout

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