2013-04-05 32 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(); 

    }