Я все еще относительно любитель программирования на Android.У меня очень раздражающая проблема.Когда я нажимаю кнопку «Отправить» в моем классе, он не показывает диалог прогресса, а также игнорирует мои проверки, которые у меня есть для двух кнопок редактирования текста, которые у меня есть.Мой код может быть очень грязным и неорганизованным.Я заранее извиняюсь.
Что мне нужно сделать, это показать, что мой диалог прогресса запущен, и в конце обработчика заставить его уволиться.Также мне нужно показать мой тост и перестать работать класс.
public class share extends Activity {
ProgressDialog dialog;
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://api...");
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.send);
Button Deliver;
Deliver = (Button) findViewById (R.id.Send);
Deliver.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ProgressDialog dialog = ProgressDialog.show(share.this, "","Uploading...", true);
dialog.show();
Handler handler = new Handler();
handler.post(new Runnable() {
public void run() {
EditText etxt_user = (EditText) findViewById(R.id.user_email);
EditText etxt_pass = (EditText) findViewById(R.id.friend_email);
if(file == null){
Toast display = Toast.makeText(share.this, "There are no videos to send", Toast.LENGTH_SHORT);
display.setGravity(Gravity.BOTTOM|Gravity.LEFT, 0, 0);
display.show();
startActivity(new Intent("android.main.SHARE"));
}
else{
Pattern pattern= Pattern.compile(
"[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
"\\@" +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
"(" +"\\." + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +")+"
);
Matcher matcher=pattern.matcher(etxt_user.getText().toString());// match the contents of the first edit text
Matcher matcher1=pattern.matcher(etxt_pass.getText().toString());
if (!matcher.matches()&&(etxt_user.getText().toString()==null))
{
Toast display1 = Toast.makeText(share.this, "Please enter correct email address", Toast.LENGTH_SHORT);
display1.show();
startActivity(new Intent("com..SHARE"));
}
else
{
//proceed with program
}
if (!matcher1.matches()&&!(etxt_pass.getText().toString()==null)){
Toast display2= Toast.makeText(share.this, "You entered wrong email Format in the second box", Toast.LENGTH_LONG);
display2.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
startActivity(new Intent("com.apapa.vrsixty.SHARE"));
}
else
{
//proceed
}
try{
MultipartEntity me = new MultipartEntity();
me.addPart("file", new FileBody(new File("/sdcard/videocapture_example.H264")));
me.addPart("userEmail", new StringBody(etxt_user.getText().toString()));
me.addPart("friendEmail", new StringBody(etxt_pass.getText().toString()));
httppost.setEntity(me);
HttpResponse responsePOST = client.execute(httppost);
HttpEntity resEntity = responsePOST.getEntity();
InputStream inputstream = resEntity.getContent();
BufferedReader buffered = new BufferedReader(new InputStreamReader(inputstream));
StringBuilder stringbuilder = new StringBuilder();
String currentline = null;
while ((currentline = buffered.readLine()) != null) {
stringbuilder.append(currentline + "\n");
String result = stringbuilder.toString();
Log.v("HTTP UPLOAD REQUEST",result);
inputstream.close(); } }
catch (Exception e) {
e.printStackTrace();
}
}dialog.dismiss();
}
});
}
});
Когда я закончу с этим и нажму «Отправить», у меня появится черный экран без диалога прогресса и даже если у меня есть проверкивместо моего редактируемого текста или если нет файла для отправки, он просто запускает программу, не останавливая ее и не показывая тост.Заранее спасибо, ребята