2011-02-17 17 views
0

這裏是我的代碼:我想顯示的名字單獨的警報,並通過領域

package com.example.userpage; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.Dialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class UserPage extends Activity { 
    AlertDialog.Builder builder; 
    private final static int EMPTY_TEXT_ALERT = 0; 

     @Override 
     public Dialog onCreateDialog(int id) { 
      switch(id) { 
       case EMPTY_TEXT_ALERT: { 
       builder = new AlertDialog.Builder(this); 
        builder.setMessage("Message:Fields Empty!!!") 
          .setPositiveButton("OK", new DialogInterface.OnClickListener() { 

           @Override 
           public void onClick(DialogInterface dialog, int which) { 
            dialog.cancel(); 
           } 

        }); 

        return builder.create(); 
       } 
      } 

      return null; 
     } 



    String tv,tv1; 
    EditText name,pass; 
    TextView x,y; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button button = (Button) findViewById(R.id.widget44); 
     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       Intent obj = new Intent(UserPage.this,UserPage.class); 
       startActivity(obj); 

      } 
     }); 

     x = (TextView) findViewById(R.id.widget46); 
     y = (TextView) findViewById(R.id.widget47); 
     name = (EditText)findViewById(R.id.widget41); 
     pass = (EditText)findViewById(R.id.widget43); 
     Button button1 = (Button) findViewById(R.id.widget45); 
     button1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       //tv= name.getText().toString(); 
       //tv1 = pass.getText().toString(); 
       x.setText(tv); 
       y.setText(tv1); 
       tv = name.getText().toString(); 
       if(tv.trim().equals("")) { 
        // text is empty 


        showDialog(EMPTY_TEXT_ALERT); 


       } 
       tv1 = pass.getText().toString(); 
       if (tv1.trim().equals("")) 
       { 

        showDialog(EMPTY_TEXT_ALERT); 

       } 
      } 
     }); 


    } 
    } 

回答

1

發生了什麼事,當您嘗試運行呢?你有什麼問題?

從我可以告訴你的代碼不會顯示任何對話框,因爲你從來沒有調用dialog.show()方法。你必須爲你有它設置的方式做這樣的事情:

showDialog(EMPTY_TEXT_ALERT).show(); 

如果你要把它兩個單獨的對話,一個名稱,一個用於通,然後你就會有要做的是另一個ID變量,並添加一個案例:它在你的showDialog(id)方法內的switch語句中。

您還應該考慮爲變量使用描述性名稱。如果你不使用x,y和widget#這樣的名字,你的代碼會更容易理解。