【发布时间】:2014-07-17 12:30:35
【问题描述】:
我创建了一个方法,在该方法中我在按钮单击时显示警报。我还创建了一个接口来获取按钮上的文本及其位置。现在在我的另一个类中,当我使用该方法时,我总是在字符串上获得一个空指针。
警报方法
protected void displayPopup(Context context, String title, final String[] array, final Button button, final boolean setText, final GetNamePosition getNamePosition) {
builder = new AlertDialog.Builder(context);
builder.setTitle(title);
builder.setItems(array, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
button.setText(array[i]);
getNamePosition.getName(button.getText().toString());
getNamePosition.getPosition(i);
dialogInterface.dismiss();
}
});
builder.show();
}
我正在使用弹出窗口的其他类
private String[] chooseDocumentArray;
private String userSelection;
case R.id.bt_choose_file:
displayPopup(getActivity(), "Choose File", chooseDocumentArray, btChooseDoc, false, new GetNamePosition() {
@Override
public void getName(String name) {
userSelection = name;
if (userSelection.equals("Gallery")) {
intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);
}
}
@Override
public void getPosition(int position) {
}
});
// if (userSelection.equals("Gallery")) {
// intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// startActivityForResult(intent, 0);
// }
}
界面
public interface GetNamePosition {
public void getName(String name);
public void getPosition(int position);
}
我在界面内使用字符串用户选择,应用程序工作正常,但是当我在界面外使用它时{我评论过}我强制关闭
【问题讨论】:
标签: java android interface android-alertdialog