在我的应用程序中,点击按钮后,我会显示警报日志框来获取文件name.and,并从用户处获取文件名称,以便保存file.and。但发生的是,在点击按钮警报日志框是屏幕的前面,在此之前,它尝试保存file.but其尝试保存文件之前,用户输入的文件名,这就是为什么保存file.how中的文件名是null调用使用警报框,以便我可以从用户获取名称,然后使用该name.plase帮助我保存文件。
public void savebitmap(Bitmap bitmap)
{
str++;
AlertDialog.Builder alert = new AlertDialog.Builder(Work.this);
alert.setMessage("File name :");
input = new EditText(Work.this);
input.setLayoutParams(new LayoutParams(100,50));
alert.setView(input);
alert.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
NameValue = input.getText().toString();
System.out.println(" file name.---"+NameValue);
}
});
alert.show();
System.out.println("file is..."+NameValue);
try
{
System.out.println("in bitmap save...");
File fn=new File("/sdcard/"+" filename4"+".png");
FileOutputStream out=new FileOutputStream(fn);
System.out.println(",,,,,,,,,,,,,,,"+out);
Toast.makeText(getApplicationContext(), "In Save",Toast.LENGTH_SHORT).show();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90,out);
out.flush();
out.close();
Toast.makeText(getApplicationContext(), "File is Saved in "+fn, Toast.LENGTH_SHORT).show();
}
catch(Exception e){
e.printStackTrace();
}
}
发布于 2013-03-04 13:07:21
你需要首先接受输入,然后当用户按下OK时,你需要创建文件。所以你需要在side onClick
中编写代码。
尝尝这个,
public void savebitmap(Bitmap bitmap)
{
str++;
AlertDialog.Builder alert = new AlertDialog.Builder(Work.this);
alert.setMessage("File name :");
input = new EditText(Work.this);
input.setLayoutParams(new LayoutParams(100,50));
alert.setView(input);
alert.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
NameValue = input.getText().toString();
System.out.println(" file name.---"+NameValue);
try
{
System.out.println("in bitmap save...");
File fn=new File("/sdcard/"+" filename4"+".png");
FileOutputStream out=new FileOutputStream(fn);
System.out.println(",,,,,,,,,,,,,,,"+out);
Toast.makeText(getApplicationContext(), "In Save",Toast.LENGTH_SHORT).show();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90,out);
out.flush();
out.close();
}
catch(Exception e){
e.printStackTrace();
}
}
});
alert.show();
System.out.println("file is..."+NameValue);
}
https://stackoverflow.com/questions/15194886
复制相似问题