这个问题可能已经被问过很多次了..是的!我正面临所谓的“黑屏问题”。
我的第一个活动是哪个主要活动,在哪个活动中完成了登录,这个活动之后是下一个活动,它是用户帐户的简单摘要报告。
现在,对于这份报告,我获取数据集,对其进行解析并使用它来动态构建表格。小人黑屏出现在这里!!报告,如表中的正确呈现,但在该屏幕上,这个黑色半透明层不断出现。
我尝试了一切,使用处理程序、异步任务、半透明主题,但没有任何帮助!当我的摘要报告加载时,恶棍仍然出现。如果我按下“返回”按钮,它就会消失,并且屏幕看起来很正常,就像它第一次加载时所预期的那样。我无法弄清楚到底出了什么问题,无论是我的编码方法(动态生成表)或者它是一个模拟器问题或什么。
My emulator details are as follows:
CPU:ARM
Target: Android 2.3.3
skin: WVGA800
sd card:1024M
有人请救救我!!
编辑:
在我的第二个活动中,我执行以下操作:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_summary_report);
ad = new AlertDialog.Builder(this).create();
boolean is = IsConnectedToNetwork();
if (is == true){
Handler execWS = new Handler();
execWS.post(callWS);//Fetch Data via web service and parse it
if(result != null){
Handler genUI = new Handler();
genUI.post(createUI);// generate the table based on "result". ie. in a for loop i create textviews and append it to the table layout
}
}
else{
Error = "Connection Failed. Try Again!";
}
if(Error.length() != 0){
ad.setMessage(Error);
ad.setTitle("Error..");
ad.show();
}
}
我的第二个活动的 Xml 布局..
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:gravity="center"
android:orientation="vertical">
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:contentDescription="@string/Logo"
android:src="@drawable/complogo"
android:gravity="top"/>
<TextView
android:id="@+id/lblLoginInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"/>
</TableLayout>
<TableLayout
android:id="@+id/tblSummRep"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="4"
android:padding="5dip">
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:padding="5dip">
<TextView
android:id="@+id/AppName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/AppName"
android:textColor="#ff6600" />
<TextView
android:id="@+id/AppVersion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/AppVersion"
android:textColor="#ff6600" />
<TextView
android:id="@+id/Disclaimer"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Disclaimer"
android:textColor="#ff6600" />
</TableLayout>
</LinearLayout>
我将文本视图附加到“tblSummRep”..
更新 我的异步任务类..
private class ShareWork extends AsyncTask<Void, Void, Boolean>{
ProgressDialog pDlg;
//String[][] result = null;
protected void onPreExecute(){
pDlg.setMessage("Please wait while the Report Loads...");
pDlg.show();
}
@Override
protected Boolean doInBackground(Void... params) {
boolean RetVal = false;
//my fetch code
return RetVal;
}
protected void onPostExecute(Boolean value){
if(value == true){
pDlg.setMessage("Please try again later!!");
pDlg.show();
}
else{
createUI.run();
}
}
}