Java android在加载另一个acitvity时放置加载消息
其实我的问题很简单,我是android新手 如何在用户单击新活动后放置加载消息(文本或进度条) 我有两个活动:主活动和仪表板活动 以下是MainActivity代码:Java android在加载另一个acitvity时放置加载消息,java,android,Java,Android,其实我的问题很简单,我是android新手 如何在用户单击新活动后放置加载消息(文本或进度条) 我有两个活动:主活动和仪表板活动 以下是MainActivity代码: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.textViewTest).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
startActivity(new Intent(MainActivity.this, DashboardActivity.class));
}
});
}
}
关于仪表板活动:
public class DashboardActivity extends AppCompatActivity
{
private Toolbar mTopToolbar;
private AppBarConfiguration mAppBarConfiguration;
private NavigationView navigationView;
private int progressStatus = 0;
private Handler handler = new Handler();
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drawer);
// Find the toolbar view inside the activity layout
Toolbar toolbar = findViewById(R.id.toolbar);
// Sets the Toolbar to act as the ActionBar for this Activity window.
// Make sure the toolbar exists in the activity and is not null
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
DrawerLayout drawer = findViewById(R.id.drawer_layout);
navigationView = findViewById(R.id.nav_view);
View hview = navigationView.getHeaderView(0);
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow)
.setOpenableLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}
/* end class */
}
请看这些图片:
main活动
当我打开仪表板活动(通过单击仅测试)时,显示空白页面大约4-5秒,如下所示:
在内容完全加载之前
Q:我的期望是,当仪表板活动为空/仍在加载时,如何显示加载文本或进度条
请帮忙
谢谢您可以在加载文本或任何数据时显示progressbar。数据准备好后,只需隐藏进度条并显示textview。这里有一个例子 在DashboardActivity布局中,在preogress栏下方添加一个直接子项,默认情况下可见
<ProgressBar
android:id="@+id/progress_bar"
style="@android:style/Widget.ProgressBar.Large"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_margin="50dp"
android:visibility="visible"
android:indeterminate="true"
android:indeterminateTint="#000000"
android:indeterminateTintMode="multiply" />
在DashboardActivity类中,首先当它打开时,进度条开始加载。数据准备好后,将其设置为文本。现在隐藏进度条并显示文本视图
resultTextView.setVisibility(View.VISIBLE);
yourProgressBar.setVisibility(View.INVISIBLE);
就是这样。由于我使用了asynctask并导致frameskippingOkay,这使得我的android速度变慢。加载数据时隐藏文本视图并显示进度栏。当数据准备就绪时,只需隐藏进度条并显示文本视图。您好,谢谢您的回复,我会尝试一下。
resultTextView.setVisibility(View.VISIBLE);
yourProgressBar.setVisibility(View.INVISIBLE);