我有一个基于列表选择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) 我遇到一个问题,其中可见性状态为GONE的视图(不合需要地)占用屏幕上的空间.始终在API级别<= 7设备上出现此问题,但最近仅在8个以上的设备上发生(在我使用AsyncTasks填充某些字段后,根据"加载活动时显示进度条")
一点上下文:我创建了一个扩展LinearLayout的自定义视图,其中包含一个"标题"按钮和(用户定义;在某些情况下,它是一些TextViews,在其他情况下,它是TableLayouts)"contents".这个视图的目的是切换内容onClick标题按钮的视图(我不相信有一个内置的小部件...我可能是错的).
在onLayout()中,我明确地将所有子视图的可见性状态设置为GONE,第一次绘制时除了标题:
protected void onLayout(boolean changed, int l, int t, int r, int b) {
if(initialDraw) {
setContentsVisible(false);
initialDraw = false;
}
super.onLayout(changed, l, t, r, b);
}
public void setContentsVisible(boolean visible) {
for(int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
if(child != mTitle) {
child.setVisibility(visible ? VISIBLE : GONE);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我从developer.android.com for Windows安装了android SDK(installer_r08-windows.exe).我安装到默认位置,C:\ Program Files\Android\android-sdk-windows.当我尝试运行SDK Manager.exe时,会弹出一个控制台窗口,但会消失..没有其他事情发生.如果我尝试从命令行运行它,也没有任何事情发生(并且没有输出).
我安装了JDK 1.6.0_20,并且JAVA_HOME环境变量指向此文件夹(C:\ Program Files\Java\jdk1.6.0_20)
救命?
我试图使用loadData()方法在WebView中显示Java String中的一些数据:
wv.loadData(myString, "text/html, "utf-8");
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是WebView破坏了非ASCII(我假设?)字符的输出.如果我使用TextView而不是WebView,则不会出现此问题,并且文本显示正确(尽管涉及一些HTML标记,因此最终不需要TextView).
如果有帮助,当我运行以下代码时:
for(int i = 0; i < myString.length() && i < 400; i++)
Log.i("Text", myString.charAt(i) + ": " + (int) myString.charAt(i));
Run Code Online (Sandbox Code Playgroud)
一个有问题的字符在日志中显示如下:
05-27 13:15:45.110:INFO/Text(606):â:8217
我认为这是一个字符集问题,但我不太清楚如何解决它.
这是HTML的一小部分(我不确定我的雇主是否允许完整发布内容):
突尼斯总理
这是'造成问题的角色'.注意:我正在显示的不是一个完整形成的HTML页面..只是带有HTML标记的文本,如果这很重要..
android ×4