gpt4 book ai didi

android - 如何设置自定义对话框内的onclicklistener按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:34 25 4
gpt4 key购买 nike

我是 android 的新手,在调用对话框内按钮的 onclicklistener 时出现空指针异常。我该怎么办。

btn_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Dialog d=new Dialog(MainActivity.this);
d.setContentView(R.layout.activity_main);
d.setTitle("Add content");
d.show();
btnsubmit = (Button) findViewById(R.id.btn_submit);
btnsubmit.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

String name = etName.getText().toString();
String phoneNo = etPhone.getText().toString();

String query = "INSERT INTO PHONE_CONTACTS(name,phone) values ('"
+ name + "','" + phoneNo + "')";
sqlHandler.executeQuery(query);
showList();
etName.setText("");
etPhone.setText("");

}
});
}
});

非常感谢您的帮助。这是我的对话框 xml 的样子:-

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TableLayout

android:layout_width="match_parent"

android:layout_height="wrap_content" >



<TableRow

android:id="@+id/tableRow1"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >



<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/name" />



<EditText

android:id="@+id/et_name"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:ems="10" >

</EditText>

</TableRow>



<TableRow

android:id="@+id/tableRow2"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >



<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/phone" />



<EditText

android:id="@+id/et_phone"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:ems="10" >

</EditText>

</TableRow>

<Button
android:id="@+id/btn_submit"
android:layout_width="80dp"
android:layout_height="40dp"
android:text="@string/submit"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
</TableLayout>

</RelativeLayout>

最佳答案

您需要使用对话框对象来初始化 View

   btnsubmit = (Button) d.findViewById(R.id.btn_submit);

此外,如果您的自定义对话框中有 edittext,请以相同的方式初始化它们。

   EditText etName = (EdiText) d.findViewById(R.id.et_Name);
EditText etPhone = (EdiText) d.findViewById(R.id.et_Phoe);

关于android - 如何设置自定义对话框内的onclicklistener按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18419965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com