0

我正在通过 Repo 浏览 Github 上的 Reddit 应用程序。现在,对于对话框和他们选择添加的任务之间的链接:

public abstract void onLoginChosen(String user, String password);

然后,他们有一个 Task 类来处理数据并生成和接收输入,然后将其解析到 UI。

我不明白,这个构造函数中的抽象是如何进入任务的。

那里的任务甚至没有扩展这个对话任务。

public class LoginTask extends AsyncTask<Void, Void, Boolean> {

    private static final String TAG = "LoginTask";

    protected String mUsername;
    private String mPassword;
    protected String mUserError = null;

    private RedditSettings mSettings;
    private HttpClient mClient;
    private Context mContext;

    protected LoginTask(String username, String password, RedditSettings settings, HttpClient client, Context context) {
        mUsername = username;
        mPassword = password;
        mSettings = settings;
        mClient = client;
        mContext = context;
    }

    @Override
    public Boolean doInBackground(Void... v) {
        return doLogin(mUsername, mPassword, mSettings, mClient, mContext);
    }

在这个例子中,数据是如何从一个类转移到另一个类的?我被难住了,这让这部分变得容易理解。

回购

4

1 回答 1

1

这里的 Activity 中有一个实现:

https://github.com/talklittle/reddit-is-fun/blob/master/src/com/andrewshu/android/reddit/threads/ThreadsListActivity.java#L1220

以及其他活动,其中可以显示登录对话框。

旁注:这是非常旧的代码,该应用程序的最新封闭源代码版本避免了这样的事情。

于 2012-08-08T14:17:36.233 回答