小编Sta*_*vic的帖子

使用setContentView加载布局时显示ProgressDialog

这是我的场景:我有一个登录屏幕,可以打开另一个活动.在活动中,我只需:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_details);
}
Run Code Online (Sandbox Code Playgroud)

布局有点沉重,因为它是由一些碎片组成的,并且需要大约1.5秒才能加载.现在,我如何显示一段ProgressDialog时间setContentView完成布局?我已经尝试AsyncTask过将其setContentView放入doInBackground,但当然无法完成,因为UI只能从UI线程更新.所以我需要setContentView在UI线程中调用,但是我必须在哪里显示/关闭ProgressDialog

我感谢您的帮助.

弗拉.

编辑:我跟着@ JohnBoker先前的建议,这是我现在的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_empty_layout);
    new ContentSetterTask().execute("");
}

private class ContentSetterTask extends AsyncTask<String, Void, Void> {

    public ProgressDialog prgDlg;

    @Override
    protected void onPreExecute() {
        android.os.Debug.waitForDebugger();
        prgDlg = ProgressDialog.show(MultiPaneActivity.this, "", "Loading...", true);

    }

@Override
protected Void doInBackground(String... args) {
    android.os.Debug.waitForDebugger();
    ViewGroup rootView = (ViewGroup)findViewById(R.id.emptyLayout);
    LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View inflated …
Run Code Online (Sandbox Code Playgroud)

multithreading android progressdialog android-asynctask android-activity

12
推荐指数
2
解决办法
6646
查看次数

skuDetailsList 返回 null

我正在尝试使用最新的Google Play Billing Library (2.0.1)实施应用内购买

• 在内部应用测试中发布 apk 后,我已将产品 ID 添加到 skuList 和 Google Play 控制台

• 但是当我启动 billingFlow 时,我得到以下信息

2019-07-01 13:17:02.436 1225-1225/com.mypackage.myapp D/InAppBilling: Other code5
2019-07-01 13:17:02.436 1225-1225/com.mypackage.myapp D/InAppBilling: Invalid SKU input params. SKU can't be null
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

List skuList = new ArrayList<>();

        skuList.add("product_1");
        skuList.add("product_2");
        skuList.add("product_3");
        skuList.add("product_"4);

 SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
        params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
        mBillingClient.querySkuDetailsAsync(params.build(),
                new SkuDetailsResponseListener() {
                    @Override
                    public void onSkuDetailsResponse(BillingResult billingResult, List<SkuDetails> skuDetailsList) {
                        if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK
                                && skuDetailsList != null) {

                            for (Object skuDetailsObject : skuDetailsList) …
Run Code Online (Sandbox Code Playgroud)

java android in-app-billing play-billing-library

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

如何处理Twitter和Facebook请求代码

如何在ActivityResult上处理Twitter和facebook请求代码.

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

       // If request code of facebook than i will call other function and if
       // request code of twitter than i will call some other function but 
       // how i can  seprate both by request code.

}
Run Code Online (Sandbox Code Playgroud)

twitter android facebook

2
推荐指数
1
解决办法
1252
查看次数

我的应用程序在Android工作室崩溃了,在查看我的日志时我无法弄清楚出了什么问题

所以我正在尝试在Android Studio中构建一个登录应用程序,当我测试它时,应用程序因某些原因崩溃了.我只是在查看日志以找出问题,但我不能为此异常错误做到这一点.贴在下面是我的日志.

02-09 16:18:09.482 2467-2467/? I/art: Not late-enabling -Xcheck:jni         (already on)
02-09 16:18:09.585 2467-2467/edu.dtcc.bwharto9.loginform W/System:  ClassLoader referenced unknown         path: /data/app/edu.dtcc.bwharto9.loginform-2/lib/x86
02-09 16:18:09.590 2467-2467/edu.dtcc.bwharto9.loginform D/AndroidRuntime: Shutting down VM
02-09 16:18:09.590 2467-2467/edu.dtcc.bwharto9.loginform E/AndroidRuntime: FATAL EXCEPTION: main
Process: edu.dtcc.bwharto9.loginform, PID: 2467
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{edu.dtcc.bwharto9.loginform/edu.dtcc.bwharto9.loginform.MainActivity}:                
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: …
Run Code Online (Sandbox Code Playgroud)

java android android-layout

0
推荐指数
1
解决办法
89
查看次数

想要从xml访问片段中的字符串

我想从xml访问字符串名称到这个字符串数组但它给我null对象错误,我该怎么办?我怎么能访问这个字符串?我使用了上下文,但它不起作用,有人可以告诉我,我该怎么做?

public class ViewProfileAdapter extends FragmentPagerAdapter {
    final int PAGE_COUNT = 4;
    Context context;
    String a=context.getApplicationContext().getResources().getString(R.string.viewkundli_tab_kundli);
    String b=context.getApplicationContext().getResources().getString(R.string.viewkundli_tab_remedies);
    String c=context.getApplicationContext().getResources().getString(R.string.viewkundli_tab_predictions);
    String d=context.getApplicationContext().getResources().getString(R.string.viewkundli_tab_panchang);

    private String tabTitles[] = new String[] {a,b,c,d };

    public ViewProfileAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public int getCount() {
        return PAGE_COUNT;
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return ViewKundli_1.newInstance(position);

            case 1:
                return ViewKundli_2.newInstance(position);

            case 2:
                return ViewKundli_3.newInstance(position);

            case 3:
                return ViewKundli_4.newInstance(position);

        }
        return null;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        // …
Run Code Online (Sandbox Code Playgroud)

android

-3
推荐指数
1
解决办法
448
查看次数