안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
AlertDialog에 setView()를 이용하여버튼이있는 레이아웃을 삽입했습니다.
그런데 레이아웃에 있는 버튼의 Click Event를 어떻게 처리하는지 방법이 궁금합니다.
Click Event를 처리 할 수 있나여?
많은 조언 부탁드립니다. 감사합니다.
<test.xml>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/test2">
<ImageButton android:id="@+id/test1"
android:layout_width="96px"
android:layout_height="76px"
android:src="@drawable/dial_num_1"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
/>
</LinearLayout>
<test.java>
@Override
protected Dialog onCreateDialog(int id)
{
LayoutInflater factory = LayoutInflater.from(this);
final View Dialer = factory.inflate(R.layout.test, null);
return new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("Dialer")
.setView(Dialer)
.create();
}
AlertDialog에 setView()를 이용하여버튼이있는 레이아웃을 삽입했습니다.
그런데 레이아웃에 있는 버튼의 Click Event를 어떻게 처리하는지 방법이 궁금합니다.
Click Event를 처리 할 수 있나여?
많은 조언 부탁드립니다. 감사합니다.
<test.xml>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/test2">
<ImageButton android:id="@+id/test1"
android:layout_width="96px"
android:layout_height="76px"
android:src="@drawable/dial_num_1"
android:background="@drawable/btn_dial"
android:soundEffectsEnabled="false"
/>
</LinearLayout>
<test.java>
@Override
protected Dialog onCreateDialog(int id)
{
LayoutInflater factory = LayoutInflater.from(this);
final View Dialer = factory.inflate(R.layout.test, null);
return new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("Dialer")
.setView(Dialer)
.create();
}
2009.09.30 15:29:20
답변 감사합니다.
위의 답변 내용은 AlertDialog에서 만든 버튼의 ClickEvent 처리이지 않나여?
저는 setView()에 등록한 Layout 안의 버튼의 ClickEvent를 처리하고 싶습니다.
이 부분은 처리가 가능할까여?
위의 답변 내용은 AlertDialog에서 만든 버튼의 ClickEvent 처리이지 않나여?
저는 setView()에 등록한 Layout 안의 버튼의 ClickEvent를 처리하고 싶습니다.
이 부분은 처리가 가능할까여?
2009.09.30 15:34:54
(추천:
1 / 0)
만들어진 View( Dialer) 의 findViewByID를 통해 등록하면 되겠지요. View.findViewById 함수를 이용해보세요
2009.09.30 15:54:34
(추천:
1 / 0)
LayoutInflater factory = LayoutInflater.from(this);
final View Dialer = factory.inflate(R.layout.test, null);
final View mButton = factory.findViewById(resID);
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(this, "TEST!!!", Toast.LENGTH_SHORT).show();
}
});
AlertDialog d = new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("Dialer")
.setView(Dialer)
.create();
이런 식으로 구현하시면 되겠습니다. 수고하세요^^
final View Dialer = factory.inflate(R.layout.test, null);
final View mButton = factory.findViewById(resID);
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(this, "TEST!!!", Toast.LENGTH_SHORT).show();
}
});
AlertDialog d = new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("Dialer")
.setView(Dialer)
.create();
이런 식으로 구현하시면 되겠습니다. 수고하세요^^