页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作

public class ProgressBarStu extends Activity {


private ProgressBar progressBar = null;


protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);


setContentView(R.layout.progressbar);


//
从这到下是关键


progressBar = (ProgressBar)findViewById(R.id.progressBar);



Thread thread = new Thread(new Runnable() {



@Override


public void run() {


int progressBarMax = progressBar.getMax();


try {


while(progressBarMax!=progressBar.getProgress())


{



int stepProgress = progressBarMax/10;


int currentprogress = progressBar.getProgress();


progressBar.setProgress(currentprogress+stepProgress);


Thread.sleep(1000);


}



} catch (InterruptedException e) {


// TODO Auto-generated catch block


e.printStackTrace();


}



}


});



thread.start();


//
关键结束


}


}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,需要在 Android 项目中添加 ObjectBox 的依赖,并创建 4 个实体类对应 ObjectBox 数据库中的 4 个表。 在读取数据时,可以使用 ObjectBox 提供的 QueryBuilder 来查询数据,然后用 Cursor 或 List 将查询结果保存下来。在读取过程中,可以通过 ProgressBar 控件显示整体的进度变化。 下面是一个简单的示例代码: ```java Box<Table1> table1Box = ObjectBox.get().boxFor(Table1.class); Box<Table2> table2Box = ObjectBox.get().boxFor(Table2.class); Box<Table3> table3Box = ObjectBox.get().boxFor(Table3.class); Box<Table4> table4Box = ObjectBox.get().boxFor(Table4.class); // 查询 Table1 表中的数据 QueryBuilder<Table1> table1QueryBuilder = table1Box.query().build(); List<Table1> table1List = table1QueryBuilder.find(); // 查询 Table2 表中的数据 QueryBuilder<Table2> table2QueryBuilder = table2Box.query().build(); List<Table2> table2List = table2QueryBuilder.find(); // 查询 Table3 表中的数据 QueryBuilder<Table3> table3QueryBuilder = table3Box.query().build(); List<Table3> table3List = table3QueryBuilder.find(); // 查询 Table4 表中的数据 QueryBuilder<Table4> table4QueryBuilder = table4Box.query().build(); List<Table4> table4List = table4QueryBuilder.find(); // 计算总进度 int totalProgress = table1List.size() + table2List.size() + table3List.size() + table4List.size(); int currentProgress = 0; // 更新 ProgressBar 控件进度 while (!table1List.isEmpty() || !table2List.isEmpty() || !table3List.isEmpty() || !table4List.isEmpty()) { if (!table1List.isEmpty()) { // 处理 Table1 表中的数据 Table1 table1 = table1List.remove(0); // 更新进度 currentProgress++; progressBar.setProgress(currentProgress * 100 / totalProgress); } if (!table2List.isEmpty()) { // 处理 Table2 表中的数据 Table2 table2 = table2List.remove(0); // 更新进度 currentProgress++; progressBar.setProgress(currentProgress * 100 / totalProgress); } if (!table3List.isEmpty()) { // 处理 Table3 表中的数据 Table3 table3 = table3List.remove(0); // 更新进度 currentProgress++; progressBar.setProgress(currentProgress * 100 / totalProgress); } if (!table4List.isEmpty()) { // 处理 Table4 表中的数据 Table4 table4 = table4List.remove(0); // 更新进度 currentProgress++; progressBar.setProgress(currentProgress * 100 / totalProgress); } } ``` 需要注意的是,上面的代码只是一个简单的示例,实际应用中可能需要进行优化,比如使用异步线程读取数据以避免阻塞 UI 线程
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值