这是我的场景:我有一个登录屏幕,可以打开另一个活动.在活动中,我只需:
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
我正在尝试使用最新的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) 如何在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) 所以我正在尝试在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) 我想从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)