小编tan*_*0th的帖子

DialogFragment方向更改崩溃与getActivity()

我目前在使用DialogFragments时遇到了一些问题.我正在使用最新的v.4支持包(我相信修订版8)我的问题是,如果在对话框打开时手机的方向发生变化,应用程序开始表现得很糟糕.

目前我的应用程序的工作方式如下:有一个FragmentActivity,它调用Fragment.然后,此Fragment调用DialogFragment(通过getActivity().getSupportFragmentManager().

如果在对话框打开时方向发生变化,则Fragment中的getActivity()= null.如果我想完成活动等,这会导致问题.

要启用此功能,请打开对话框,更改方向并按下按钮.只有在按下按钮后它才会崩溃

我的DialogFragment称为AlertDialogFragment:

public class AlertDialogFragment extends DialogFragment {
private static Builder mBuilder;
private static DialogInterface.OnClickListener mListener;

public static AlertDialogFragment newInstance(Context context, DialogInterface.OnClickListener listener) {
    mBuilder = new AlertDialog.Builder(context);
    mListener = listener;       
    return new AlertDialogFragment();
}

//... some functions to set Icons etc

public void setButton(int whichButton, CharSequence buttonText) {
    final DialogInterface.OnClickListener listener = mListener == null ? null : mListener;      
    mBuilder.setPositiveButton(buttonText, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                listener.onClick(dialog, whichButton);
            }
    });
} …
Run Code Online (Sandbox Code Playgroud)

android orientation

5
推荐指数
1
解决办法
5844
查看次数

SQLAlchemy:加入没有 from 字段的子查询

我有一个名为 Product_model 的表及其相应的 ProductModel SQLAlchemy 模型。

我希望将product_model 表加入到一个选择子查询中,该查询只需取消嵌套两个PostgreSQL 数组(产品模型id 和数量),然后将product_model 表加入到该数据中。数据取自一个简单的购物车(Python 字典)。我在这个用例中使用 PostgreSQL,但是如果存在更好的想法,我将非常乐意使用替代方案。

在 SQL 中,这将如下所示(此语句计算购物车中所有产品的总质量):

SELECT SUM(p.mass * c.quantity) FROM product_model AS p
INNER JOIN (
  SELECT UNNEST(ARRAY[1]) AS model_id, UNNEST(ARRAY[2]) AS quantity
) AS c ON p.id = c.model_id
GROUP BY p.id;
Run Code Online (Sandbox Code Playgroud)

我想在 SQLAlchemy 中对该 SQL 语句进行建模。这可能吗?我不确定如何连接到不从表中选择的子查询。或者我需要寻找替代方案?

python sql orm sqlalchemy flask-sqlalchemy

4
推荐指数
1
解决办法
3847
查看次数

标签 统计

android ×1

flask-sqlalchemy ×1

orientation ×1

orm ×1

python ×1

sql ×1

sqlalchemy ×1