package com.topnews.fragment;
import java.util.ArrayList;
import com.topnews.R;
import com.topnews.adapter.NewsAdapter;
import com.topnews.bean.NewsEntity;
import com.topnews.tool.Constants;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class NewsFragment extends Fragment {
Activity activity;
ArrayList<NewsEntity> newsList = new ArrayList<NewsEntity>();
ListView mListView;
NewsAdapter mAdapter;
String text;
ImageView detail_loading;
public final static int SET_NEWSLIST = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
Bundle args = getArguments();
text = args != null ? args.getString("text") : "";
initData();
super.onCreate(savedInstanceState);
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
this.activity = activity;
super.onAttach(activity);
}
/** �˷�����˼Ϊfragment�Ƿ�ɼ� ,�ɼ�ʱ��������� */
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (isVisibleToUser) {
//fragment�ɼ�ʱ��������
if(newsList !=null && newsList.size() !=0){
handler.obtainMessage(SET_NEWSLIST).sendToTarget();
}else{
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(2);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
handler.obtainMessage(SET_NEWSLIST).sendToTarget();
}
}).start();
}
}else{
//fragment���ɼ�ʱ��ִ�в���
}
super.setUserVisibleHint(isVisibleToUser);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = LayoutInflater.from(getActivity()).inflate(R.layout.news_fragment, null);
mListView = (ListView) view.findViewById(R.id.mListView);
TextView item_textview = (TextView)view.findViewById(R.id.item_textview);
detail_loading = (ImageView)view.findViewById(R.id.detail_loading);
item_textview.setText(text);
return view;
}
private void initData() {
newsList = Constants.getNewsList();
}
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case SET_NEWSLIST:
detail_loading.setVisibility(View.GONE);
mAdapter = new NewsAdapter(activity, newsList);
mListView.setAdapter(mAdapter);
break;
default:
break;
}
super.handleMessage(msg);
}
};
}