gpt4 book ai didi

android - 更新 DialogFragment View (并使用 AsyncTask)

转载 作者:行者123 更新时间:2023-11-29 18:00:31 24 4
gpt4 key购买 nike

我正在通过替换所有已弃用的方法来更新我的应用程序。现在,我在使用 DialogFragments 时遇到了问题。

我有一个这样的 DialogActivity:

public class Actualizar extends FragmentActivity 
{
/**BASIC ACTIVITY CODE HERE **/

/**WHERE THAT I NEED HELP **/
OnClickListener onClickListener = new OnClickListener()
{
@Override
public void onClick(View v)
{
AsyncTaskActualizarDatos task = new AsyncTaskActualizarDatos();
task.execute();
}
};
}

当我点击一个按钮时,我想要执行的是 AsyncTask。此任务应显示具有自定义布局的 DialogFragment 并通过 FTP 下载一些文件。

AsyncTask 是这样的:

public class AsyncTaskActualizarDatos extends AsyncTask<Void,Void,Void>
{
FragmentoComunicacion fragmento;

@Override
protected void onPreExecute()
{
fragmento = FragmentoComunicacion.actualizarDatos();
fragmento.show(fm, "dialog");
super.onPreExecute();
}

@Override
protected Void doInBackground(Void... arg0)
{
/** DO SOMETHING HERE **/
}
}

fragment 是这样的:

public class FragmentoComunicacion extends DialogFragment
{
public static FragmentoComunicacion actualizarDatos()
{
FragmentoComunicacion f = new FragmentoComunicacion();
return f;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.fragment_dialog_actualizar_datos, container);
getDialog().setTitle("Title");
return v;
}
}

现在...我正在尝试更新 fragment 中的 View (使用 publishProgress),但我不知道在哪里可以执行此操作。当我尝试使用 fragmento.findView () 在 [doInBackground()] 中我得到了一个 nullPointerException。

我很困惑...执行此操作的正确方法是什么?

谢谢!

最佳答案

我相信您正在寻找的电话是:

fragmento.getDialog().findViewById(...)

关于android - 更新 DialogFragment View (并使用 AsyncTask),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com