검색어 : android edittext dialog (Google)
직접입력을 선택하면 에디터 박스가 호출되게 하는 부분은 Dialog 를 이용하는 방법입니다.
별도의 액티비티를 주는 경우는 dialog를 사용할 이용횟수가 많거나 객체화??해서 저장 할경우 Activity 를 따로 분할 해 놓는 경우입니다. 굳이 Activity를 따로 주지 않아도 됩니다.
아래의 소스코드를 그대로 붙여 넣으시면됩니다.
package com.test.button;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
EditText ed_id, ed_pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout linear = (LinearLayout) View.inflate(this,
R.layout.login_pop, null);
ed_id = (EditText) linear.findViewById(R.id.ed_id);
ed_pass = (EditText) linear.findViewById(R.id.ed_pass);
new AlertDialog.Builder(this).setTitle("로그인").setView(linear)
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),ed_id.getText().toString()+" "+ed_pass.getText().toString() ,Toast.LENGTH_SHORT).show();
}
}).setNegativeButton("취소", null).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
>>>>>>>>>>>>xml <<<<<<<<< LoginPopup.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5pt" >
<EditText
android:id="@+id/ed_id"
android:layout_marginTop="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</EditText>
<EditText
android:id="@+id/ed_pass"
android:layout_marginTop="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</EditText>
</LinearLayout>