Android “底部工作表”对话框打开多次
我正在使用bottomsheetlayout弹出窗口进行社交媒体共享。现在的问题是,它不止一次开放。请帮我解决这个问题 在我的按钮上单击我调用asynctask下载图像Android “底部工作表”对话框打开多次,android,android-asynctask,android-alertdialog,Android,Android Asynctask,Android Alertdialog,我正在使用bottomsheetlayout弹出窗口进行社交媒体共享。现在的问题是,它不止一次开放。请帮我解决这个问题 在我的按钮上单击我调用asynctask下载图像 @Override protected void onPostExecute(Void res) { super.onPostExecute(res); //prodImageUri1.addAll(prodImageUri); if(si
@Override
protected void onPostExecute(Void res) {
super.onPostExecute(res);
//prodImageUri1.addAll(prodImageUri);
if(single_rdb.isChecked())
{
createImageBitmap();
}
else if(allimg_rdb.isChecked())
{
temps=new ArrayList<>();
for(int i=0;i<prodImageUri.size();i++)
{
if(i==8)
{
break;
}
temps.add(prodImageUri.get(i));
// System.out.println("SIZE "+temps.size()+"TEST1 "+temps.get(i));
createImageBitmap();
}
}
}
@覆盖
受保护的void onPostExecute(void res){
super.onPostExecute(res);
//prodImageUri1.addAll(prodImageUri);
if(single_rdb.isChecked())
{
createImageBitmap();
}
else if(allimg_rdb.isChecked())
{
temps=newarraylist();
for(int i=0;iOK)从for循环中删除底部的工作表对话框调用,并将其放置在for循环之外,因为for循环多次执行,在for循环到达数组列表的末尾之前,它将继续执行。
所以,只需移除底部薄板并将其放置在for循环之外
由于这段代码,您正面临问题:
for(int i=0;i<prodImageUri.size();i++)
{
if(i==8)
{
break;
}
temps.add(prodImageUri.get(i));
// System.out.println("SIZE "+temps.size()+"TEST1 "+temps.get(i));
createImageBitmap();
}
for(int i=0;ii尝试将其置于循环外部,但显示相同的结果从createimagebitmap()中删除底部工作表对话框)方法并将其放置在方法之外是的,你是对的,我明白你的意思,但是我在哪里可以调用此方法?它将脱离流程保留方法,因为它只是删除对对话框的调用,并将其放置在方法之外,以及loops@khimji如果有帮助,请考虑把我的答案标记正确。
for(int i=0;i<prodImageUri.size();i++)
{
if(i==8)
{
break;
}
temps.add(prodImageUri.get(i));
// System.out.println("SIZE "+temps.size()+"TEST1 "+temps.get(i));
createImageBitmap();
}