在自定义警报对话框中设置自定义文本(Android-Studio)

问题描述 投票:1回答:2

我有自定义对话框的代码:package com.example.ortel.tagnet;

import dev.niekirk.com.instagram4android.requests.payload.InstagramUser;

public class CustomDialogClass extends Dialog implements
    android.view.View.OnClickListener {

  public Activity c;
  public Dialog d;
  public Button yes, no;
  public EditText name;
  public CustomDialogClass(Activity a) {
    super(a);
    // TODO Auto-generated constructor stub
    this.c = a;
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.custon_dialog);
    yes = (Button) findViewById(R.id.btn_yes);
    no = (Button) findViewById(R.id.btn_no);
    name = (EditText) findViewById(R.id.name);
    yes.setOnClickListener(this);
    no.setOnClickListener(this);

  }

  @Override
  public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btn_yes:
      c.finish();
      break;
    case R.id.btn_no:
      dismiss();
      break;
    default:
      break;
    }
    dismiss();
  }
  public String getFirst(String s) {
    name.setText(s);
    return s;
  }

}

在我的名字课上,我打电话给...

        CustomDialogClass cdd = new CustomDialogClass((Activity) context);
        cdd.getFirst("test");
        cdd.show();

我想将文本(由id'name'定位)设置为'test'。

当我运行此代码时,我收到以下错误:

java.lang.NullPointerException:尝试在空对象引用上调用虚方法'void android.widget.EditText.setText(java.lang.CharSequence)'

问题是什么?

编辑:如果您需要更多信息,请告诉我!

java android alertdialog android-alertdialog settext
2个回答
1
投票

你试试:

public void getFirst(String s) {
    name.setText(s);
  }

我认为您将函数名称从[getFirst]更改为[setNameTitle],您的名称功能不清楚。


0
投票

我只想出来了!

cdd.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        cdd.getWindow().getAttributes().windowAnimations = R.style.dialog_animation;
        cdd.show();
        cdd.getFirst("test");

沉甸甸.show();

必须先来!

© www.soinside.com 2019 - 2024. All rights reserved.