Mostrar mensagem quando listview não tiver dados?

Pessoal mais uma vez estou com duvidas aqui.

Fiz esta classe que traz todos os dados da minha tabela num listview

[code]public class ListaItensProdutosActivity extends Activity {

private TextView codigo;
private TextView nome;
private ProgressDialog dialog;
private Handler handler = new Handler();
private ListView listItens;
protected ProgressDialog progressDialog = null;
private List<HashMap<String, String>> dataList = new ArrayList<HashMap<String, String>>();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    this.getWindow().clearFlags(
            WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    setContentView(R.layout.lista_itens_produtos);

    listItens = (ListView) findViewById(R.id.listaItensProdutos);
    buscaItensProdutos();

    listItens.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position,
                long id) {
            codigo = (TextView) v.findViewById(android.R.id.text2);

            nome = (TextView) v.findViewById(android.R.id.text1);

            String concatenaCodigoNome = codigo.getText().toString()
                    + " - " + nome.getText().toString();

            if (concatenaCodigoNome.length() > 0) {
                VendaClienteActivity.edtItem.setText(concatenaCodigoNome);

                VendaClienteActivity.edtQuantidade
                        .setFocusableInTouchMode(true);
                VendaClienteActivity.edtQuantidade.requestFocus();
                VendaClienteActivity.btTelaLetras.setEnabled(false);
                VendaClienteActivity.flLetras.setVisibility(View.INVISIBLE);
                VendaClienteActivity.flNumeros.setVisibility(View.VISIBLE);
                // pesquisa o valor do produto
                pesquisarValorProduto();
                VendaClienteActivity.edtItem.clearFocus();
                VendaClienteActivity.edtItem.setFocusableInTouchMode(false);
                finish();
            }
        }
    });

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.lista_itens_produtos, menu);
    return true;
}

// busca parte do cliente
public void buscaItensProdutos() {
    dialog = ProgressDialog.show(ListaItensProdutosActivity.this,
            "Aguarde...", "Pesquisando registros");

    new Thread() {
        @Override
        public void run() {
            DSRESTConnection conn = getConnection();
            TServerMethods1 serv = new TServerMethods1(conn);

            TDataSet ds;
            // limpa a lista a cada pesquisa
            dataList.clear();
            try {
                ds = serv.ConsultaItens(VendaClienteActivity.edtItem
                        .getText().toString());
                while (ds.next()) {
                    HashMap<String, String> item = new HashMap<String, String>();
                    item.put("nome", ds.getValue("NOME").GetAsString());
                    item.put("id", ds.getValue("CODIGO").GetAsString());
                    dataList.add(item);
                }                  

                finalizaDialogo(false, "");

            } catch (Exception e) {
                finalizaDialogo(true, e.toString());
            }
        }

    }.start();

}

private void finalizaDialogo(final boolean temErro, final String msg) {
    handler.post(new Runnable() {

        @Override
        public void run() {
            if (temErro)
                Toast.makeText(ListaItensProdutosActivity.this, msg,
                        Toast.LENGTH_LONG).show();
            else
                AtualizarTela();
            // finaliar o dialogo
            dialog.dismiss();
        }
    });
}

private void AtualizarTela() {
    String[] from = new String[] { "nome", "id" };
    int[] to = new int[] { android.R.id.text1, android.R.id.text2 };
    int layoutNativo = android.R.layout.two_line_list_item;

    listItens.setAdapter(new SimpleAdapter(this, dataList, layoutNativo,
            from, to));
   
    if (listItens == null) {

        Toast.makeText(ListaItensProdutosActivity.this,
                "Não foi encontrado dados nesta busca.",
                Toast.LENGTH_LONG).show();
        finish();

    }

}

private DSRESTConnection getConnection() {
    DSRESTConnection conn = new DSRESTConnection();
    conn.setHost(MainActivity.ip);
    String portaServXE = "23" + Integer.toString(MainActivity.porta);
    conn.setPort(Integer.parseInt(portaServXE)); // MainActivity.porta
    return conn;
}

private void pesquisarValorProduto() {
    DSRESTConnection conn = getConnection();
    TServerMethods1 serv = new TServerMethods1(conn);

    try {

        GetPrecoVenda_ProdutoReturns ret;

        // Toast.makeText(ListaItensProdutosActivity.this, codigo,
        // Toast.LENGTH_LONG).show();
        ret = serv.GetPrecoVenda_Produto(codigo.getText().toString()); // manda
                                                                        // o
                                                                        // valor
        // do codigo
        // auxiliar para
        // busca no
        // select

        // carrega o edit com o resultado do select
        VendaClienteActivity.tvValorUnitario.setText(String.format(
                "R$ %.2f", ret.PrecoVenda));

        // recebe o valor unitário
        VendaClienteActivity.vlUnitario = ret.PrecoVenda;
        // o valor total recebe o valor unitário
        VendaClienteActivity.vlValorTotal = ret.PrecoVenda;

        finalizaDialogo(false, "");

    } catch (Exception e) {
        finalizaDialogo(true, e.toString());
    }

}

}[/code]

No androidManifest.xml o thema desta tela é assim

<activity android:name=".ListaItensProdutosActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog" > </activity>

Meu problema é quando o retorno desta consulta não tiver dados dentro do listview, como faço para mandar uma mensagem em vez de retornar esta tela vazia?

Obrigado.

debaixo da linha 87 :

if(dataList.isEmpty()){ Toast.makeText(context, "Nada encontrado", Toast.LENGTH_LONG).show(); }
Acredito que seja isso que vc quer.
Dica: use AsyncTask para operações em rede.

[quote=Ramon Pires]debaixo da linha 87 :

if(dataList.isEmpty()){ Toast.makeText(context, "Nada encontrado", Toast.LENGTH_LONG).show(); }
Acredito que seja isso que vc quer.
Dica: use AsyncTask para operações em rede.[/quote]Ola Ramon Pires, coloquei conforme você disse, mais não funcionou não. Obrigado.

Veja como esta agora

[code]private void pesquisarClientes() {
dialog = ProgressDialog.show(this, “Aguarde…”,
“Pesquisando registros.”, false, true);
dialog.setIcon(R.drawable.ic_launcher);
dialog.setCancelable(false);

    DSRESTConnection conn = getConnection();
    final TServerMethods1 serv = new TServerMethods1(conn);
    
   
    new AsyncTask<Void, Void, Void>() {    
       
        @Override  
        protected Void doInBackground(Void... params) {  
            try { 
            	TDataSet ds;
        		// limpa a lista a cada pesquisa
        		dataList.clear();

               
            	ds = serv
						.ConsultaDadosCliente(VendaClienteActivity.edtCliente
								.getText().toString());
				while (ds.next()) {
					HashMap<String, String> item = new HashMap<String, String>();
					item.put("nome", ds.getValue("NOME").GetAsString());
					item.put("id", ds.getValue("CODIGO").GetAsString());
					dataList.add(item);
				}
				// desabilita o dialog
				dialog.dismiss();
				finalizaDialogo(false, "");
				if(dataList.isEmpty()){
				 Toast.makeText(ListaClientesActivity.this,
				 "Nada encontrado", Toast.LENGTH_LONG).show();
				 }

			} catch (Exception e) {// desabilita o dialog
				dialog.dismiss();
				finalizaDialogo(true, e.toString());
			}
            return null;  
        }  
    }.execute();
}[/code] E não retornou a mensagem que estou querendo que retorna ai.

Obrigado.