单击按钮后如何打开“自定义对话框”

鲁斯塔姆·卡哈罗夫(Rustam Kakharov)

这是我的“自定义对话框”的LinearLayout。

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:textColor="@android:color/white"
        android:hint="@string/enter_phone_number"
        android:textColorHint="@android:color/white"
        android:padding="15dp"
        android:ems="10"
        android:id="@+id/editNumber"
        android:layout_gravity="center_horizontal" />

    <View
        style="@style/HeaderDivider" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:padding="15dp"
        android:textColor="@android:color/white"
        android:hint="@string/enter_name"
        android:textColorHint="@android:color/white"
        android:ems="10"
        android:id="@+id/editName"
        android:layout_gravity="center_horizontal" />
    <View
        style="@style/HeaderDivider" />

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:layout_gravity="center_horizontal"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/ok"
            android:background="@drawable/button_shape"
            android:layout_weight="1"
            android:id="@+id/edit" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/cancel"
            android:background="@drawable/button_shape"
            android:layout_weight="1"
            android:id="@+id/cancel" />
    </TableRow>

</LinearLayout>

这是我尝试创建自定义对话框的代码:

public class SendMessage extends ActionBarActivity {
private TextView friendNumber;
private Button chooseNumber;
private TextView friendName;
private String phoneNo;

private EditText editName;
private EditText editNumber;
private Button writeNumber;
private Button okButton;
private Button cancel;

public Button checkNumber;
private SharedPreferencesWrapper _spw;
public static final int PICK_CONTACT = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_send_message);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    TextView tv = (TextView) findViewById(R.id.edit_friend);
    friendName = (TextView) findViewById(R.id.friendName);
    _spw = new SharedPreferencesWrapper(SendMessage.this);
    friendNumber = (TextView) findViewById(R.id.friend_number);
    chooseNumber = (Button) findViewById(R.id.choose_number);
    checkNumber = (Button) findViewById(R.id.check_number);
    writeNumber = (Button) findViewById(R.id.write_number);
    setTitle(R.string.title_section5);

    chooseNumber.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_PICK);
            intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
            startActivityForResult(intent, PICK_CONTACT);

        }
    });


    checkNumber.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String phoneNumber = friendNumber.getText().toString();
            phoneNo = phoneNumber.replace(" ", "").replace("-", "");
            if(phoneNo.length() > 0 && friendName.getText().toString().length() > 0) {
                if(phoneNo.length() >= 10) {
                    if (phoneNo.length() == 13) {
                        AsyncWebRequestsSender awrs = new AsyncWebRequestsSender(SendMessage.this, R.string.loading, R.string.getting_data);
                        awrs.execute(ISettings.Method_Invite, SendMessage.this, new CardHolder(_spw.getHolderId(), null, friendName.getText().toString(), null, new Card(null, phoneNo, null)));
                    } else {
                        int index = phoneNo.indexOf("0");
                        String phone = phoneNo.substring(index + 1);
                        phoneNo = "+996" + phone;
                        AsyncWebRequestsSender awrs = new AsyncWebRequestsSender(SendMessage.this, R.string.loading, R.string.getting_data);
                        awrs.execute(ISettings.Method_Invite, SendMessage.this, new CardHolder(_spw.getHolderId(), null, friendName.getText().toString(), null, new Card(null, phoneNo, null)));
                    }
                }
                else
                    ToastHelper.show(SendMessage.this, R.string.please_check_number);
            }
            else{
                ToastHelper.show(SendMessage.this, R.string.please_enter_friend_name);
            }
        }
    });
}

public void editFriend(View view) throws IOException{
    try {
        final Dialog dialog = new Dialog(SendMessage.this);
        dialog.setContentView(R.layout.action_write_number);
        dialog.setTitle("Title...");

        editNumber = (EditText) findViewById(R.id.editNumber);
        editName = (EditText) findViewById(R.id.editName);
        okButton = (Button) findViewById(R.id.edit); // here okButton = null
        okButton.setOnClickListener(new View.OnClickListener() { // and here IO catch Exception (NullPointerException)
            @Override
            public void onClick(View v) {
                String phone = editNumber.getText().toString();
                String name = editName.getText().toString();
                friendNumber.setText(phone);
                friendName.setText(name);
                dialog.dismiss();
            }
        });
        cancel = (Button) findViewById(R.id.cancel);
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });
        dialog.show();
    }
    catch (Exception e) {
        String a = "";
    }
}

问题是-当我单击“异常”按钮时,捕获NullPointerException而我没有发现我的值不在哪里初始化。请帮我。

医学博士

喜欢

 editNumber = (EditText) dialog.findViewById(R.id.editNumber);
 editName = (EditText) dialog.findViewById(R.id.editName);
 okButton = (Button) dialog.findViewById(R.id.edit); 

editFriend(View view)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击按钮后打开对话框

来自分类Dev

Android-如何在自定义警报对话框中检查按钮单击?

来自分类Dev

如何更改打开对话框的图像以及如何自定义对话框?

来自分类Dev

如何自定义警报对话框,以使按钮适合警报对话框

来自分类Dev

如何在不打开模式对话框的情况下为data-toggle =“ modal”按钮设置自定义单击事件处理程序?

来自分类Dev

如何在自定义对话框中设置自定义按钮?

来自分类Dev

如何在自定义对话框中设置自定义按钮?

来自分类Dev

在单击ListView项时打开自定义对话框Android吗?

来自分类Dev

角度:单击按钮后打开文件对话框

来自分类Dev

单击自定义对话框中的按钮创建无限数量的EditText

来自分类Dev

响应Google文档自定义HTML对话框中的按钮单击事件

来自分类Dev

在Android中单击“按钮”时关闭自定义对话框

来自分类Dev

在自定义对话框窗口中单击按钮时出现空指针异常

来自分类Dev

单击 PyQt5 中的按钮关闭自定义输入对话框

来自分类Dev

我需要创建一个打开自定义对话框的按钮

来自分类Dev

单击后的“自定义选择项”对话框/更新列表行

来自分类Dev

自定义对话框打开时强制关闭

来自分类Dev

在自定义对话框的列表视图后添加按钮

来自分类Dev

jQuery UI自定义对话框按钮

来自分类Dev

Summernote自定义对话框和按钮

来自分类Dev

自定义对话框中的按钮| 安卓

来自分类Dev

删除标题后,自定义对话框崩溃

来自分类Dev

使用自定义对话框类时如何修改文本并单击侦听器?

来自分类Dev

如何在从片段打开的自定义对话框中保留侦听器?

来自分类Dev

如何从上次打开的对话框的按钮单击中删除所有对话框?

来自分类Dev

使用自定义投射按钮时如何启动“连接到设备”对话框?

来自分类Dev

如何在自定义对话框按钮中使用意图?

来自分类Dev

使用自定义投射按钮时如何启动“连接到设备”对话框?

来自分类Dev

如何向 Outlook 的提醒对话框添加自定义按钮?

Related 相关文章

  1. 1

    单击按钮后打开对话框

  2. 2

    Android-如何在自定义警报对话框中检查按钮单击?

  3. 3

    如何更改打开对话框的图像以及如何自定义对话框?

  4. 4

    如何自定义警报对话框,以使按钮适合警报对话框

  5. 5

    如何在不打开模式对话框的情况下为data-toggle =“ modal”按钮设置自定义单击事件处理程序?

  6. 6

    如何在自定义对话框中设置自定义按钮?

  7. 7

    如何在自定义对话框中设置自定义按钮?

  8. 8

    在单击ListView项时打开自定义对话框Android吗?

  9. 9

    角度:单击按钮后打开文件对话框

  10. 10

    单击自定义对话框中的按钮创建无限数量的EditText

  11. 11

    响应Google文档自定义HTML对话框中的按钮单击事件

  12. 12

    在Android中单击“按钮”时关闭自定义对话框

  13. 13

    在自定义对话框窗口中单击按钮时出现空指针异常

  14. 14

    单击 PyQt5 中的按钮关闭自定义输入对话框

  15. 15

    我需要创建一个打开自定义对话框的按钮

  16. 16

    单击后的“自定义选择项”对话框/更新列表行

  17. 17

    自定义对话框打开时强制关闭

  18. 18

    在自定义对话框的列表视图后添加按钮

  19. 19

    jQuery UI自定义对话框按钮

  20. 20

    Summernote自定义对话框和按钮

  21. 21

    自定义对话框中的按钮| 安卓

  22. 22

    删除标题后,自定义对话框崩溃

  23. 23

    使用自定义对话框类时如何修改文本并单击侦听器?

  24. 24

    如何在从片段打开的自定义对话框中保留侦听器?

  25. 25

    如何从上次打开的对话框的按钮单击中删除所有对话框?

  26. 26

    使用自定义投射按钮时如何启动“连接到设备”对话框?

  27. 27

    如何在自定义对话框按钮中使用意图?

  28. 28

    使用自定义投射按钮时如何启动“连接到设备”对话框?

  29. 29

    如何向 Outlook 的提醒对话框添加自定义按钮?

热门标签

归档