android progress dialog and threads
<p>I'm trying to show a progress dialog while adding a row to a database table, but the problem is that the progress dialog is only showing for 1 second and the application crashes after that, can anyone help me please ?</p>

<pre><code>public void onClick(View arg0) {
        // TODO Auto-generated method stub

        ConnectivityManager cm =(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null &amp;&amp; netInfo.isConnectedOrConnecting()) 
        {
             final EditText wholepost=(EditText)findViewById(R.id.wholepost);
                final String post_type=spinner.getSelectedItem().toString();
                final String post_type2=post_type.replace(" ", "%20");
                final String post1=wholepost.getText().toString();
                String post2=post1.replace(" ", "%20");
                final String post3=post2.replace("\n","%0D");
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                final String now = df.format(new Date());

                if(post1.equals(null))
                {
                    Toast.makeText(getBaseContext(), "Please write a post before clicking on the button",Toast.LENGTH_LONG).show();
                }
                else
                {
                    if(post1.length()&lt;15)
                    {
                        Toast.makeText(getBaseContext(), "Post is too small",Toast.LENGTH_LONG).show();
                    }

                    else
                    {
                        if(post1.length()&gt;500)
                        {Toast.makeText(getBaseContext(), "Post should be smaller",Toast.LENGTH_LONG).show();}
                        else
                        {
                            pd.show();

                            Thread th=new Thread(new Runnable() {
                                public void run() {                             

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        httpclient = new DefaultHttpClient();
        httppost = new HttpPost("http://192.168.1.38/test/Addpost.php?username="+username+"&amp;fname="+firstname+"&amp;lname="+lastname+"&amp;dop="+now+"&amp;content="+post3+"&amp;type="+post_type2+"");

                        try
                        {

                            nameValuePairs = new ArrayList&lt;NameValuePair&gt;();
                            nameValuePairs.add(new BasicNameValuePair("FirstN",firstname));
                            nameValuePairs.add(new BasicNameValuePair("LastN",lastname));
                            nameValuePairs.add(new BasicNameValuePair("Content",post1));
                            nameValuePairs.add(new BasicNameValuePair("type",post_type));
                            nameValuePairs.add(new BasicNameValuePair("Dateofp",now));
                            nameValuePairs.add(new BasicNameValuePair("username",username));
                            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                            response = httpclient.execute(httppost);

                            if(response.getStatusLine().getStatusCode()==200)
                            {
                            entity=response.getEntity();
                            if(entity !=null)
                            {
                                Toast.makeText(getBaseContext(),"POST SUCCESFULLY ADDED",Toast.LENGTH_LONG).show(); 
                            }

                            }
                            else
                            {
                                Toast.makeText(getBaseContext(),"ERROR RERTY OR CHECK YOUR CONNECTION",Toast.LENGTH_LONG).show();
                            }





                            wholepost.setText("");





                        }
                        catch(Exception ex)
                        {Toast.makeText(getBaseContext(),"CONNECTION ERROR",Toast.LENGTH_LONG).show();}


                        pd.dismiss();
                                }   
                            });
                            th.start();


                    }}
                }

        }
        else
        {
            Toast.makeText(getBaseContext(),"Please make sure you're connected to the internet",Toast.LENGTH_LONG).show();

        }




    }
});
</code></pre>
