RadioGroup
Posted <菜鸟@号>
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RadioGroup相关的知识,希望对你有一定的参考价值。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/r1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="资讯" android:layout_weight="1" android:button="@null" android:gravity="center" android:textSize="25dp" /> <RadioButton android:id="@+id/r2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="热点" android:layout_weight="1" android:button="@null" android:textSize="25dp" android:gravity="center" /> <RadioButton android:id="@+id/r3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="博客" android:layout_weight="1" android:button="@null" android:gravity="center" android:textSize="25dp" /> <RadioButton android:id="@+id/r4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="推荐" android:button="@null" android:gravity="center" android:textSize="25dp" android:layout_weight="1" /> </RadioGroup> <LinearLayout android:layout_width="match_parent" android:layout_height="5dp" android:id="@+id/lin" > </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
package com.bawei.yuekao; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.RadioButton; import android.widget.TextView; public class MainActivity extends FragmentActivity implements OnClickListener { private RadioButton r1; private RadioButton r2; private RadioButton r3; private RadioButton r4; private LinearLayout lin; private ViewPager viewPager; int width; private String[] url = new String[] { "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex=", "http://www.oschina.net/action/api/news_list?catalog=4&show=week&pageIndex=", "http://www.oschina.net/action/api/blog_list?type=latest&pageIndex=", "http://www.oschina.net/action/api/blog_list?type=recommend&pageIndex=" }; private List<Fragment> list; private List<TextView> l; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取屏幕宽度 width = getWindowManager().getDefaultDisplay().getWidth(); r1 = (RadioButton) findViewById(R.id.r1); r2 = (RadioButton) findViewById(R.id.r2); r3 = (RadioButton) findViewById(R.id.r3); r4 = (RadioButton) findViewById(R.id.r4); r1.setOnClickListener(this); r2.setOnClickListener(this); r3.setOnClickListener(this); r4.setOnClickListener(this); lin = (LinearLayout) findViewById(R.id.lin); //游标 l = new ArrayList<TextView>(); for(int i = 0; i < url.length; i++){ TextView tv_line = new TextView(MainActivity.this); RadioButton button1=new RadioButton(MainActivity.this); LinearLayout.LayoutParams params_2 = new LayoutParams( width / 4, LayoutParams.WRAP_CONTENT); tv_line.setBackgroundColor(Color.GREEN); tv_line.setVisibility(View.INVISIBLE); l.add(tv_line); lin.addView(tv_line,i,params_2); } //viewpager适配 viewPager = (ViewPager) findViewById(R.id.viewpager); setdata(); FragmentManager fm = getSupportFragmentManager(); viewPager.setAdapter(new MyViewPager(fm, list)); //首次进入 viewPager.setCurrentItem(0); r1.setTextColor(Color.GREEN); l.get(0).setVisibility(View.VISIBLE); //viewpager监听 viewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub switch (arg0) { case 0: r1.setTextColor(Color.GREEN); r2.setTextColor(Color.BLACK); r3.setTextColor(Color.BLACK); r4.setTextColor(Color.BLACK); l.get(0).setVisibility(View.VISIBLE); l.get(1).setVisibility(View.INVISIBLE); l.get(2).setVisibility(View.INVISIBLE); l.get(3).setVisibility(View.INVISIBLE); break; case 1: r2.setTextColor(Color.GREEN); r1.setTextColor(Color.BLACK); r3.setTextColor(Color.BLACK); r4.setTextColor(Color.BLACK); l.get(1).setVisibility(View.VISIBLE); l.get(0).setVisibility(View.INVISIBLE); l.get(2).setVisibility(View.INVISIBLE); l.get(3).setVisibility(View.INVISIBLE); break; case 2: r3.setTextColor(Color.GREEN); r2.setTextColor(Color.BLACK); r1.setTextColor(Color.BLACK); r4.setTextColor(Color.BLACK); l.get(2).setVisibility(View.VISIBLE); l.get(1).setVisibility(View.INVISIBLE); l.get(0).setVisibility(View.INVISIBLE); l.get(3).setVisibility(View.INVISIBLE); break; case 3: r4.setTextColor(Color.GREEN); r2.setTextColor(Color.BLACK); r3.setTextColor(Color.BLACK); r1.setTextColor(Color.BLACK); l.get(3).setVisibility(View.VISIBLE); l.get(1).setVisibility(View.INVISIBLE); l.get(2).setVisibility(View.INVISIBLE); l.get(0).setVisibility(View.INVISIBLE); break; } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } private void setdata() { list = new ArrayList<Fragment>(); for (int i = 0; i < url.length; i++) { Fragment1 f1 = new Fragment1(url[i],i); list.add(f1); } } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.r1: viewPager.setCurrentItem(0); break; case R.id.r2: viewPager.setCurrentItem(1); break; case R.id.r3: viewPager.setCurrentItem(2); break; case R.id.r4: viewPager.setCurrentItem(3); break; } } }
package com.bawei.yuekao; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.bawei.vo.Good; import com.bawei.vo.Goods; import com.bawei.vo.Myblog; import com.bawei.vo.Myblogs; import com.bawei.vo.Mynews; import com.example.xlistviews.XListView; import com.example.xlistviews.XListView.IXListViewListener; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest.HttpMethod; import com.thoughtworks.xstream.XStream; import android.annotation.SuppressLint; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; public class Fragment1 extends Fragment implements IXListViewListener { String url; int m; public Fragment1(String url, int i) { // TODO Auto-generated constructor stub this.url = url; this.m = i; } int num = 0; int z = 6; int p = 6; private BaseAdapter adapter; private BaseAdapter adapters; private XListView my_xlist; List<Mynews> list = new ArrayList<Mynews>(); List<Myblog> lists = new ArrayList<Myblog>(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.f1, null); my_xlist = (XListView) view.findViewById(R.id.my_xlist); my_xlist.setPullLoadEnable(true); my_xlist.setPullRefreshEnable(true); my_xlist.setXListViewListener(this); shuain(); return view; } private void shuain() { z = z - 1; HttpUtils httpUtils = new HttpUtils(); httpUtils.send(HttpMethod.POST, url + z, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { // TODO Auto-generated method stub } @Override public void onSuccess(ResponseInfo<String> arg0) { // TODO Auto-generated method stub String result = arg0.result; XStream stream = new XStream(); if (m == 0 || m == 1) { stream.processAnnotations(Good.class); Good good = (Good) stream.fromXML(result); List<Mynews> news = good.getNewslist().getNews(); list = news; adapter = new Adpter(getActivity(), list); my_xlist.setAdapter(adapter); } if (m == 2 || m == 3) { stream.processAnnotations(Goods.class); Goods good = (Goods) stream.fromXML(result); List<Myblog> blog = good.getBlogs().getBlog(); lists = blog; adapters = new Adrters(getActivity(), lists); my_xlist.setAdapter(adapters); } } }); } @Override public void onRefresh() { // TODO Auto-generated method stub shuain(); onLoad(); } @Override public void onLoadMore() { // TODO Auto-generated method stub p = p - 1; HttpUtils httpUtils = new HttpUtils(); httpUtils.send(HttpMethod.POST, url + p, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { // TODO Auto-generated method stub } @Override public void onSuccess(ResponseInfo<String> arg0) { // TODO Auto-generated method stub String result = arg0.result; XStream stream = new XStream(); if (m == 0 || m == 1) { stream.processAnnotations(Good.class); Good good = (Good) stream.fromXML(result); List<Mynews> news = good.getNewslist().getNews(); list.addAll(news); adapter.notifyDataSetChanged(); } if (m == 2 || m == 3) { stream.processAnnotations(Goods.class); Goods good = (Goods) stream.fromXML(result); List<Myblog> blog = good.getBlogs().getBlog(); lists.addAll(blog); adapters.notifyDataSetChanged(); } } }); onLoad(); } /* * * 设置时间 */ @SuppressLint("SimpleDateFormat") private void onLoad() { my_xlist.stopRefresh(); my_xlist.stopLoadMore(); // 设置日期格式 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 获取当前系统时间 String nowTime = df.format(new Date(System.currentTimeMillis())); // 释放时提示正在刷新时的当前时间 my_xlist.setRefreshTime(nowTime); } }
package com.bawei.yuekao; import java.util.List; import com.bawei.vo.Mynews; import android.content.Context; import android.support.v4.app.FragmentActivity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class Adpter extends BaseAdapter { Context context; List<Mynews> list; public Adpter(Context context, List<Mynews> list) { // TODO Auto-generated constructor stub this.context=context; this.list=list; } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder viewHolder; if(convertView==null){ convertView=View.inflate(context, R.layout.xlistview, null); viewHolder=new ViewHolder(); viewHolder.t1=(TextView) convertView.findViewById(R.id.t1); viewHolder.t2=(TextView) convertView.findViewById(R.id.t2); viewHolder.t3=(TextView) convertView.findViewById(R.id.t3); convertView.setTag(viewHolder); }else{ viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.t1.setText(list.get(position).getTitle()); viewHolder.t2.setText(list.get(position).getBody()); viewHolder.t3.setText(list.get(position).getPubDate()); return convertView; } class ViewHolder{ TextView t1; TextView t2; TextView t3; } }
以上是关于RadioGroup的主要内容,如果未能解决你的问题,请参考以下文章
android如何实现代码控制RadioGroup中某一个按钮选中