点击广播,显示此博主所发表的所有微博


public class TweetsActivity extends ListActivity implements OnItemClickListener{private DataHelper dataHelper;private UserInfo user;private MyWeiboSync weibo;private Handler handler;private AsyncImageLoader asyncImageLoader; private TweetsThread thread;private ListView listView;private ProgressDialog progressDialog;private JSONArray array;private TweetsAdapter adapter;private String name;private String currentNick;//当前界面的昵称private View top_panel;private Button top_btn_left;private Button top_btn_right;private TextView top_title;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.tweets);setUpViews();//设置viewsetUpListeners();//设置listenterasyncImageLoader = new AsyncImageLoader();dataHelper = new DataHelper(TweetsActivity.this);weibo = new MyWeiboSync();List<UserInfo> userList = dataHelper.GetUserList(false);SharedPreferences preferences = getSharedPreferences("default_user",Activity.MODE_PRIVATE);String nick = preferences.getString("user_default_nick", "");if (nick != "") {user = dataHelper.getUserByName(nick,userList);}weibo.setAccessTokenKey(user.getToken());weibo.setAccessTokenSecrect(user.getTokenSecret());Intent intent = getIntent();name = intent.getStringExtra("name");//获取从前面页面传递过来的数据currentNick = intent.getStringExtra("nick");top_title.setText(currentNick+"的广播");progressDialog = new ProgressDialog(TweetsActivity.this);// 生成一个进度条progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);progressDialog.setTitle("请稍等");progressDialog.setMessage("正在读取数据中!");handler = new TweetsHandler();thread = new TweetsThread();thread.start();//开启一个线程获取数据progressDialog.show();}private void setUpViews(){listView = getListView();top_panel = (View)findViewById(R.id.tweets_top);top_btn_left = (Button)top_panel.findViewById(R.id.top_btn_left);top_btn_right = (Button)top_panel.findViewById(R.id.top_btn_right);top_title = (TextView)top_panel.findViewById(R.id.top_title);}private void setUpListeners(){listView.setOnItemClickListener(this);}class TweetsThread extends Thread {@Overridepublic void run() {String jsonStr = weibo.getTweets(weibo.getAccessTokenKey(), weibo.getAccessTokenSecrect(),PageFlag.PageFlag_First, 0, 20, 0,name);try {JSONObject dataObj = new JSONObject(jsonStr).getJSONObject("data"); array = dataObj.getJSONArray("info");} catch (JSONException e) {e.printStackTrace();}//通知handler处理数据Message msg = handler.obtainMessage();handler.sendMessage(msg);}}class TweetsHandler extends Handler { @Overridepublic void handleMessage(Message msg){adapter = new TweetsAdapter(TweetsActivity.this, array);listView.setAdapter(adapter);progressDialog.dismiss();// 关闭进度条}}class TweetsAdapter extends BaseAdapter {private Context context;private LayoutInflater inflater;private JSONArray array;public TweetsAdapter(Context context, JSONArray array) {super();this.context = context;this.array = array;this.inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {return array.length();}@Overridepublic Object getItem(int position) {return array.opt(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {asyncImageLoader = new AsyncImageLoader();TweetsViewHolder viewHolder = new TweetsViewHolder();JSONObject data = (JSONObject)array.opt(position); JSONObject source = null;convertView = inflater.inflate(R.layout.tweets_list_item, null);try {source = data.getJSONObject("source");} catch (JSONException e1) {e1.printStackTrace(); }viewHolder.tweets_headicon = (ImageView) convertView.findViewById(R.id.tweets_headicon);viewHolder.tweets_nick = (TextView) convertView.findViewById(R.id.tweets_nick);viewHolder.tweets_hasimage = (ImageView) convertView.findViewById(R.id.tweets_hasimage);viewHolder.tweets_timestamp = (TextView) convertView.findViewById(R.id.tweets_timestamp);viewHolder.tweets_origtext = (TextView) convertView.findViewById(R.id.tweets_origtext);viewHolder.tweets_source = (TextView) convertView.findViewById(R.id.tweets_source);if(data!=null){try {convertView.setTag(data.get("id"));viewHolder.tweets_nick.setText(data.getString("nick"));viewHolder.tweets_timestamp.setText(TimeUtil.converTime(Long.parseLong(data.getString("timestamp"))));viewHolder.tweets_origtext.setText(data.getString("origtext"), TextView.BufferType.SPANNABLE);if(source!=null){viewHolder.tweets_source.setText(source.getString("origtext"));viewHolder.tweets_source.setBackgroundResource(R.drawable.source_bg);}//异步加载图片Drawable cachedImage = asyncImageLoader.loadDrawable(data.getString("head")+"/100",viewHolder.tweets_headicon, new ImageCallback(){                    @Override                    public void imageLoaded(Drawable imageDrawable,ImageView imageView, String imageUrl) {                        imageView.setImageDrawable(imageDrawable);                    }                });if (cachedImage == null) {viewHolder.tweets_headicon.setImageResource(R.drawable.icon);} else {viewHolder.tweets_headicon.setImageDrawable(cachedImage);}if(data.getJSONArray("image")!=null){viewHolder.tweets_hasimage.setImageResource(R.drawable.hasimage);}} catch (JSONException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}return convertView;}}static class TweetsViewHolder {private ImageView tweets_headicon;private TextView tweets_nick;private TextView tweets_timestamp;private TextView tweets_origtext;private TextView tweets_source;private ImageView tweets_hasimage;}@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {JSONObject weiboInfo = (JSONObject)array.opt(position);Intent intent = new Intent(TweetsActivity.this, WeiboDetailActivity.class);try {intent.putExtra("weiboid", weiboInfo.getString("id"));startActivity(intent);} catch (JSONException e) {e.printStackTrace();}}}


<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffffff"xmlns:android="http://schemas.android.com/apk/res/android"><include android:id="@+id/tweets_top" layout="@layout/top_panel" android:layout_alignParentTop="true"/><ListView android:id="@id/android:list" android:layout_below="@id/tweets_top" android:layout_width="fill_parent" android:cacheColorHint="#00000000"android:layout_height="wrap_content" android:layout_weight="1" android:divider="@drawable/list_divider"/><RelativeLayout android:layout_width="fill_parent" android:layout_height="40.0dip" android:layout_alignParentBottom="true"><Button android:id="@+id/mytweet_back_btn" android:layout_width="40.0dip" android:drawableTop="@drawable/btn_back_selector" android:background="@drawable/bottom_back_bg"android:layout_height="40.0dip"  android:layout_alignParentLeft="true"/><Button android:id="@+id/mytweet_tohome_btn" android:layout_width="40.0dip"android:layout_height="40.0dip" android:drawableTop="@drawable/btn_home_selector" android:background="@drawable/bottom_home_bg" android:layout_alignParentRight="true"/></RelativeLayout></RelativeLayout>


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingTop="3.0dip" android:orientation="horizontal" android:background="@drawable/listitem_selector"  android:layout_width="fill_parent" android:layout_height="wrap_content"><RelativeLayout android:layout_width="50.0dip" android:layout_height="50.0dip" android:layout_weight="0.0"><ImageView android:id="@+id/tweets_headicon" android:layout_width="45.0dip" android:layout_height="45.0dip" android:scaleType="fitCenter" android:layout_centerInParent="true" /></RelativeLayout><RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="4.0dip" android:layout_weight="1.0"><TextView android:id="@+id/tweets_nick" android:textColor="#000000" android:layout_width="wrap_content" android:layout_height="32.0dip" android:textSize="14.0sp" android:layout_alignParentLeft="true"/><TextView android:id="@+id/tweets_timestamp" android:textColor="#ff000000" android:layout_width="wrap_content" android:layout_height="32.0dip" android:textSize="8.0sp" android:layout_alignParentRight="true"/><ImageView android:id="@+id/tweets_hasimage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/tweets_timestamp"/><TextView android:id="@+id/tweets_origtext" android:textColor="#081008" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12.0sp" android:layout_below="@id/tweets_nick"/><TextView android:layout_marginLeft="6.0dip" android:id="@+id/tweets_source" android:textColor="#101810" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="10.0sp" android:layout_below="@id/tweets_origtext" android:layout_alignParentBottom="true"/></RelativeLayout></LinearLayout>

更多相关文章

  1. java后台接收android客户端通过http方式发送的数据
  2. android用于打开各种文件的intent
  3. Android上传文件到Django服务器
  4. 获取android系统信息
  5. android ScrollView嵌套RecyclerView只显示一条数据的解决办法
  6. Android(安卓)手机端与服务端POST数据交互类
  7. Android5.0以太网流程源码情景分析
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. python起点网月票榜字体反爬案例

随机推荐

  1. ORACLE SQL 实现IRR的计算
  2. SQL Server 中 存储“经纬度”应设置的数
  3. pymysql实现从a表过滤出有效信息添加至b
  4. Python爬取京东评论(多线程+队列+bs4+pymy
  5. MySQL选择哪个列不是空的。
  6. 在细队共数细军精文候只就
  7. repcached与mysql缓存測试
  8. 类型不敏感的nvarchar类型的主键,其中ß!=
  9. 设置mysql5.7远程连接
  10. Linux服务器安装php之后连接MySQL数据失