1

私はアクティビティ間でスワイプする必要があるアプリケーションに取り組んでいます。特定のアクティビティ クラスでは、リストを配置する必要があり、リストにメニューを表示する必要があります。これも完了です。問題に直面しているのは、私が得ていることです。アプリケーションの実行中にコンソールに表示されるこのメッセージ:-I/Choreographer(): Skipped 77 frames! アプリケーションがメイン スレッドで処理しすぎている可能性があります。AsyncTaskも追加するように言われたことがありますが、あまり役に立たないようですが、これだけで修正できることはわかっていますが、何も理解できません。

public class TabFragmentClass extends Fragment {

DisplayMetrics metrics;
ListView list_view=null;
Animation animation=null;
int mode=R.id.TranslateAnimation1;
ArrayList<String> ar_li;
@Override
public void onStart() {
    setHasOptionsMenu(true);
    super.onStart();
        }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_main,null);
metrics=new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
list_view=(ListView) view.findViewById(R.id.list_view);
list_view.setFadingEdgeLength(0);
new NewClass().execute();
return view;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.activity_main, menu);
     menu.add(Menu.NONE,1,0,"TranslateAnimation1");
     menu.add(Menu.NONE, 2, 0, "TranslateAnimation2");
     menu.add(Menu.NONE, 3, 0, "ScaleAnimation");
     menu.add(Menu.NONE, 4, 0, "fade_in");
     menu.add(Menu.NONE, 5, 0, "hyper_space_out");
     menu.add(Menu.NONE, 6, 0, "wave_scale");
     menu.add(Menu.NONE, 7, 0, "push_left_in");
     menu.add(Menu.NONE, 8, 0, "push_left_out");
     menu.add(Menu.NONE, 9, 0, "push_up_in");
     menu.add(Menu.NONE, 10, 0, "push_up_out");      
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    mode=item.getItemId();
    return super.onOptionsItemSelected(item);
}
@Override
public void setHasOptionsMenu(boolean hasMenu) {
    super.setHasOptionsMenu(hasMenu);
}
class NewClass extends AsyncTask<String, String, ArrayList<String>>
{
    View convertView;
    @Override
    protected void onPreExecute() {
    ProgressDialog dialog=new ProgressDialog(getActivity());
    dialog.setMessage("List loading...");
    dialog.show();
    }
    @Override
    protected ArrayList<String> doInBackground(String... params) {
     ar_li=new ArrayList<String>();
    for(int i=0;i<100;i++)
    {
    ar_li.add("item: "+(i+1));
    }
    return ar_li;
    }
    @Override
    protected void onPostExecute(ArrayList<String> result) {
        MainAdapter mAdapter=new MainAdapter(getActivity(),ar_li,metrics);
        list_view.setAdapter(mAdapter); 
    }
    }}
4

0 に答える 0