我怎样才能把它放到android的异步任务。该视图占据了主线程的大部分,所以我试图将它放在新线程中。我怎样才能使用异步任务
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = new ViewHolder();
convertView = inflater.inflate(R.layout.gridview_layout, null);
holder.txt = (TextView) convertView.findViewById(R.id.txt);
holder.flag = (ImageView) convertView.findViewById(R.id.flag);
holder.txt.setText(result[position]);
holder.flag.setImageResource(imageId[position]);
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, DetailActivity.class).putExtra(Intent.EXTRA_TEXT, result[position]);
context.startActivity(intent);
}
});
return convertView;
}
另一个类是这样的。我无法理解什么是使用主线程
public static class DetailFragment extends Fragment {
public DetailFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_detail, container, false);
Intent intent = getActivity().getIntent();
if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
String forecastStr = intent.getStringExtra(Intent.EXTRA_TEXT);
((TextView) rootView.findViewById(R.id.detail_text)).setText(forecastStr);
}
return rootView;
}
}
对不起,我不能让你。 – vikky
*“该视图占据了主线程的大部分”* - 是什么让你这么说?你有任何数据来支持这一说法吗?乍一看,我没有看到你给出的代码有什么大的错误(尽管你应该正确地应用ViewHolder模式和膨胀布局),也没有看起来像一个非常繁重的操作。 –
这是logcat'1-06 02:06:14.625 17955-17955/com.example.vikky.basic_3 W/Resources:转换为字符串:TypedValue {t = 0x12/d = 0x0 a = 2 r = 0x7f0c006e} 11-06 02:06:15.927 17955-17955/com.example.vikky.basic_3 I /编舞:跳过了77帧!应用程序可能在其主线程上做了太多工作。 11-06 02:06:17.146 17955-17955/com.example.vikky.basic_3 I /编舞:跳过72帧!应用程序可能在其主线程上做了太多工作。 11-06 02:06:20.521 17955-17955/com.example.vikky.basic_3 W/Resources:转换为字符串:TypedValue {t = 0x12/d = 0x0 a = 2 r = 0x7f0c006d}' – vikky