时间:2016-01-18 10:07 来源: 我爱IT技术网 作者:佚名
public class EX04_17 extends Activity
{
private TextView mTextView01;
private Button mButton01;
private ProgressBar mProgressBar01;
public int intCounter=0;
protected static final int GUI_STOP_NOTIFIER=0x108;
protected static final int GUI_THREADING_NOTIFIER=0x109;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mButton01=(Button)findViewById(R.id.myButton1);
mTextView01=(TextView)findViewById(R.id.myTextView1);
mProgressBar01=(ProgressBar)findViewById(R.id.myProgressBar1);
mProgressBar01.setIndeterminate(false);
mButton01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
mTextView01.setText(R.string.str_progress_start);
mProgressBar01.setVisibility(View.VISIBLE);
mProgressBar01.setMax(100);
mProgressBar01.setProgress(0);
new Thread(new Runnable()
{
public void run()
{
for (int i=0;i<10;i++)
{
try
{
intCounter=(i+1)*20;
Thread.sleep(1000);
if(i==4)
{
Message m=new Message();
m.what=EX04_17.GUI_STOP_NOTIFIER;
EX04_17.this.myMessageHandler.sendMessage(m);
break;
}
else
{
Message m=new Message();
m.what=EX04_17.GUI_THREADING_NOTIFIER;
EX04_17.this.myMessageHandler.sendMessage(m);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}).start();
}
});
}
Handler myMessageHandler=new Handler()
{
// @Override
public void handleMessage(Message msg)
{
switch (msg.what)
{
case EX04_17.GUI_STOP_NOTIFIER:
mTextView01.setText(R.string.str_progress_done);
mProgressBar01.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case EX04_17.GUI_THREADING_NOTIFIER:
if(!Thread.currentThread().isInterrupted())
{
mProgressBar01.setProgress(intCounter);
mTextView01.setText
(
getResources().getText(R.string.str_progress_start)+
"("+Integer.toString(intCounter)+"%)/n"+
"Progress:"+
Integer.toString(mProgressBar01.getProgress())+
"/n"+"Indeterminate:"+
Boolean.toString(mProgressBar01.isIndeterminate())
);
}
break;
}
super.handleMessage(msg);
}
};
}
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
