|
|
|
Android สอบถามการนำผลลัพธ์ที่ได้จาก AsyncTask มาแสดงผล ตอนนี้มันค้างครับ |
|
|
|
|
|
|
|
คือว่ามือใหม่ Android ขอความอนุเคราะห์จากปรมาจารย์ทุกท่านแห่ง Thaicreate
โปรเจ็คผมเป็นโปรเจ็คเล็กๆทำหน้าค้นหาสินค้าไว้เพื่อดึงเอาข้อมูลสินค้ามาแสดง
การดึงก็เรียกไปหา WCF Service ให้เป็นตัวเรียกข้อมูลจากฐานข้อมูลแล้วคืนมาให้ในรูปแบบ ArrayList
(มี property 4 ตัว ItemCode,ItemName,UnitPrice,UnitName)
การเรียกก็ใช้ AsyncTask ที่ผมทำไว้
ใน onPreExecute ให้แสดง ProgressDialog
ใน doInBackground ทำงานได้สมบูรณ์ไม่ช้าได้ผลลัพธ์กลับมา 300 ค่าใช้เวลาประมาณ 1 วิ
แล้วใน onPostExecute นำเอาค่า 300 ค่ามาลูปใส่ใน tableLayout คล้ายๆแบบนี้
Code (Java)
if (objLstSearchItem.isEmpty())
{
return;
}
TableRow.LayoutParams paramsRight = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
paramsRight.setMargins(1, 0, 1, 0);
for (Class_MItem temp:objLstSearchItem)
{
final TableRow tr2 = new TableRow(Que_Activity.this);
// ItemCode
TextView b = new TextView(Que_Activity.this);
b.setLayoutParams(paramsRight);
b.setWidth(150);
String str = String.valueOf(temp.getItemCode());
b.setText(str);
b.setTextSize(15);
b.setMaxLines(1);
tr2.addView(b);
// (แสดงการใส่แค่ 1 ตัวครับ จริงใส่ครบ)
tbDetailSearch.addView(tr2);
final View vline1 = new View(Que_Activity.this);
vline1.setLayoutParams(new
TableRow.LayoutParams(LayoutParams.MATCH_PARENT, 1));
vline1.setBackgroundColor(Color.WHITE);
tbDetailSearch.addView(vline1);
} // end for
แล้วก็ dismiss progressDialog
ผลคือ ตอน doInbackground Progress มันก็หมุนๆ 1 วิ หลังจากนั้นมันจะไม่หมุน ไปประมาณ 4 วิ
แล้วก็ทำงานเสร็จ
ผมก็เลยสงสัยว่ามันเป็นอะไรก็เลยไม่ต้องให้มันโชว์ Progress คราวนี้มันก็เลยค้างไป 4 วิ
แล้วก็ทำงานเสร็จ จึงคิดว่ามันน่าจะมาค้างตรงที่กำลังลูปเอาค่าใส่ใน table ไม่ทราบว่า
ปรมาจารย์ท่านใช้วิธีใดกันหรือครับ ช่วยชีแนะทีนะครับ
อยากให้มันไม่ค้าง ให้ Progress มันหมุนๆตลอด ผู้ใช้จะได้รู้สึกว่ามันกำลังทำงาน
ขอบคุณล่วงหน้าครับ
Tag : Mobile, Android, Tablets, JAVA
|
|
|
|
|
|
Date :
2013-04-22 15:25:47 |
By :
คนงานตัดอ้อย |
View :
1163 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมไม่เก่งพอที่จะดูจาก Code แล้วช่วยหาข้อผิดพลาดได้ครับ ลองดูตัวอย่างที่ผมเขียนไว้ครับ มันสามารถทำงานได้ปกติ
Android ProgressBar/ProgressDialog Search Display result Data from Web Server
|
|
|
|
|
Date :
2013-04-22 17:41:06 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อิอิ จริงๆ ครับ ถ้าๆได้เขียนบ่อย ๆ จะเชียวชาญครับ แต่ผมเขียนอยู่ 2-3 เดือนก็ไม่ได้จับอีกเลย
|
|
|
|
|
Date :
2013-04-22 19:53:17 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|