2013-04-05 84 views
-4

嗨誰能告訴我如何使對話框片段如下圖,以及如何將結果傳回活動? enter image description here設置活動 - 新對話

+0

首先自己嘗試一下。有足夠的Tutoriols描述該用例。 – 2013-04-05 09:42:12

+0

嘿,在線教程很容易.. – 2013-04-05 09:58:30

回答

0
AlertDialog.Builder editalert = new AlertDialog.Builder(this); 

editalert.setTitle("messagetitle"); 
editalert.setMessage("here is the message"); 


final EditText input = new EditText(this); 
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.FILL_PARENT, 
     LinearLayout.LayoutParams.FILL_PARENT); 
input.setLayoutParams(lp); 
editalert.setView(input); 

editalert.setPositiveButton("Send via email", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 


    } 
}); 


editalert.show(); 
0

創建一個具有editext和兩個按鍵的自定義dilaog。

dilog.xml

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ems="10" > 

    <requestFocus /> 
</EditText> 

<Button 
    android:id="@+id/ok" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/editText1" 
    android:layout_marginLeft="30dp" 
    android:layout_marginTop="20dp" 
    android:text="OK" /> 

<Button 
    android:id="@+id/anuluj" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/ok" 
    android:layout_alignBottom="@+id/ok" 
    android:layout_marginLeft="35dp" 
    android:layout_toRightOf="@+id/ok" 
    android:text="Anuluj" /> 

</RelativeLayout> 

在你的活動設置cusotm佈局到您的對話框

public void showpopup() 
{ 
final Dialog d = new Dialog(MainActivity.this); 
d.setTitle("my title"); 
d.setContentView(R.layout.dialog); 
Button ok = (Button) d.findViewById(R.id.ok); 
final EditText ed= (EditText) d.findViewById(R.id.editText1); 
ok.setOnClickListener(new OnClickListener() 
{ 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     String s= ed.getText().toString();//get text form editext 

    } 

}); 
Button anuluj = (Button) d.findViewById(R.id.anuluj); 

    anuluj.setOnClickListener(new OnClickListener() 
    { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      d.cancel(); 

     } 

    }); 
    d.show(); 

    }