Задать пользовательский текст в настраиваемом диалоговом окне оповещения (Android-Studio) - PullRequest
0 голосов
/ 05 июня 2018

У меня есть этот код для моего настраиваемого диалогового окна: пакет 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();

Iхочу установить текст (расположенный с идентификатором 'name') в 'test'.

Когда я запускаю этот код, я получаю следующую ошибку:

java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.widget.EditText.setText (java.lang.CharSequence)' для ссылки на пустой объект

В чем проблема?

РЕДАКТИРОВАТЬ: Скажите, пожалуйста, если вам нужна дополнительная информация!

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Я только что понял!

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

cdd.show ();

Должен быть первым!

0 голосов
/ 05 июня 2018

Вы пытаетесь:

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

Я думаю, вы меняете имя функции с: [getFirst] на [setNameTitle], ваша функция имени не ясна.

...