다른 클래스 내부에서 EditText.getText(). toString()에 액세스하십시오.
public class NewPartnerDialog extends Dialog implements OnClickListener
public class NewPartnerDialog extends Dialog implements OnClickListener
그리고 다른 클래스 (activity)에서 호출합니다.
private void showCustomDialog() {
NewPartnerDialog customDialog = new NewPartnerDialog(this);
customDialog.show();
}
그리고 작동합니다 (보이지만), 약간 문제가 있습니다. 거기에 나는 3 EditText 필드가 있습니다. 어떻게 입력 된 값을 retreieve 다른 클래스 construtor로 전달할 수 있습니다. 여기에 코드가 있습니다.
public class NewPartnerDialog extends Dialog implements OnClickListener {
public NewPartnerDialog(Context context) {
super(context);
mainContext = context;
setContentView(R.layout.dialog_new_partner);
setTitle("Dialog");
finish = (Button) findViewById(R.id.finish);
cancel = (Button) findViewById(R.id.finish);
finish.setOnClickListener(this);
cancel.setOnClickListener(this);
name = (EditText) findViewById(R.id.name);
address = (EditText) findViewById(R.id.address);
city = (EditText) findViewById(R.id.city);
}
@Override
public void onClick(View v) {
if (v == finish) {
Partner.addNewPartner(mainContext, name.getText().toString(), address.getText().toString(), city.getText().toString());
} else if (v == cancel) {
dismiss();
}
}
private static EditText name;
private static EditText address;
private static EditText city;
private static Context mainContext;
private Button finish;
private Button cancel;
오류가 여기에 있습니다
if (v == finish) {
Partner.addNewPartner(mainContext, name.getText().toString(), address.getText().toString(), city.getText().toString());
}
NullPointerException 때문에 말합 니다만 어떻게 수정합니까?
'파트너'란 무엇입니까? – Falmarri
일부 도우미 클래스. 모든 것이 중요합니다 (Context, String, String, String). 이 마지막 코드를 "Partner.addNewPartner (mainContext,"ABC ","ABCD ","ABCDE ");로 대체하면" 모든 것이 잘 작동합니다. – svenkapudija