问题是当我将参数从对话框发送到 mainActivity 时。
我通过以下方式发送参数:
mainActivity.SaveInfo(info);
它转到mainActivity。我的代码如下:
RateDialog.java 代码:
public class RateDialog extends DialogFragment {
public String path;
public float rate;
public boolean i;
PhotosRatingInfo photosRatingInfo;
PhotosList photosList;
public RateDialog(String path, float rate, PhotosList photosList) {
this.path = path;
this.rate = rate;
this.photosList = photosList;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View dialog = inflater.inflate(R.layout.dialog_rate, null);
final RatingBar ratingBar = (RatingBar)dialog.findViewById(R.id.ratingBar);
/** Dialog builder and settings **/
builder.setView(dialog)
.
setTitle("Rate this photo")
.
setPositiveButton("Rate",new DialogInterface.OnClickListener() {
@Override
public void onClick (DialogInterface dialog,int id){
rate = ratingBar.getRating();
Logic.PhotosRatingInfo info = new Logic.PhotosRatingInfo();
MainActivity mainActivity = new MainActivity();
info.setRate(rate);
info.setPhotopath(path);
photosList.list.add(info);
***mainActivity.SaveInfo(info);***
}
}
)
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
}
);
return builder.create();
}
}
这是主要活动(如下),在这里它给了我错误“public java.io.FileOutputStream openFileOutput(java.lang.String name, int mode) throws java.io.FileNotFoundException” on:
FileOutputStream stream = openFileOutput(filename, Context.MODE_PRIVATE);`
MainActivity.java 的代码:
public class MainActivity extends Activity {
public void SaveInfo(Logic.PhotosRatingInfo info)
{
save("PhotosData.txt", info)
}
private void save(String filename, Object data) {
try {
FileOutputStream stream = openFileOutput(filename, Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(stream);
os.writeObject(data);
//stream.write(filename.getBytes());
os.close();
stream.close();
} catch(Exception e) {
}
}
}
我对java编程有点新,所以请保留我的(:谢谢帮助......