tablayoutのタブを切り替える際にパフォーマンスの問題が発生しています。シナリオ1では、レコードが少ないと、タブ間を簡単に切り替えることができ、ユーザーは遅延を犠牲にすることはありません。どこに私がより多くのデータを持っているかのように、ユーザーは、以下のスクリーンショットに示すようなラグを感じることができます。スクリーンは数秒後に読み込まれますが、ユーザーには目に見えます。誰かがこれをさらに改善するためにチェックできる領域を提案することはできますか?以下は、問題と現在のフラグメントのコードが...あるタブを切り替える際の遅延android tablayout
UI -
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_profile, container, false);
dbConnection = new databaseHelper(getContext());
dbConnection.getWritableDatabase();
profileFragment = view.findViewById(R.id.profileFragment);
downloadData = profileFragment.findViewById(R.id.dwnldData);
refresh = profileFragment.findViewById(R.id.refreshdata);
search = profileFragment.findViewById(R.id.search);
removeFilter= profileFragment.findViewById(R.id.removeFilter);
viewPager = (ViewPager) getActivity().findViewById(R.id.viewpager);
currmelas = dbConnection.findMelas("YES","YES","");
downloadData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
viewPager.setCurrentItem(0);
}
});
if (viewPager.getCurrentItem()==1){
candidateData = dbConnection.findHighCandData(mela_id,"1","");
} else {
candidateData = dbConnection.findHighCandData(mela_id,"","");
}
if (candidateData.size() <= 0) {
if (currmelas.size() == 0){
downloadData.setVisibility(View.VISIBLE);
Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
if(userSettings.size()==0){
viewPager.setCurrentItem(3);
} else {
viewPager.setCurrentItem(0);
}
}
});
}
} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
setScrollView(candidateData);
}
});
}
}, 100);
}
return view;
}
なぜこれがダウン投票されたのか分かりませんが、私はこれに関する投稿を見つけられませんでした。 – Akshay