温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Android中实现一个京东分类效果

发布时间:2021-06-08 16:41:40 来源:亿速云 阅读:172 作者:Leah 栏目:移动开发

今天就跟大家聊聊有关怎么在Android中实现一个京东分类效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1.写一个fragment

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.TextView; public class MyFragment extends Fragment {   @Override   public View onCreateView(LayoutInflater inflater, ViewGroup container,       Bundle savedInstanceState) {     // TODO Auto-generated method stub     View view = inflater.inflate(R.layout.myfragment, null);     TextView tv_title = (TextView) view.findViewById(R.id.tv_title);     //得到数据     PersionInfo info = (PersionInfo) getArguments().getSerializable("info");     tv_title.setText(info.getNameString());     return view;   } }

2.写一个实体类:

public class PersionInfo implements Serializable {   private String nameString;   private boolean chick;  //标识   public PersionInfo(String nameString) {     this.nameString = nameString;   }   public String getNameString() {     return nameString;   }   public void setNameString(String nameString) {     this.nameString = nameString;   }   public boolean isChick() {     return chick;   }   public void setChick(boolean chick) {     this.chick = chick;   } }

3.写一个adapter

public class MyAdapter extends BaseAdapter {   private Context context;   private List<PersionInfo> listinfos;   public MyAdapter(Context context, List<PersionInfo> listinfos){     this.context =context;     this.listinfos = listinfos;   }   @Override   public int getCount() {     // TODO Auto-generated method stub     return listinfos.size();   }   @Override   public Object getItem(int position) {     // TODO Auto-generated method stub     return listinfos.get(position);   }   @Override   public long getItemId(int position) {     // TODO Auto-generated method stub     return position;   }   @Override   public View getView(int position, View convertView, ViewGroup parent) {     // TODO Auto-generated method stub     convertView = LayoutInflater.from(context).inflate(R.layout.listview_item, null);     TextView tv = (TextView) convertView.findViewById(R.id.tv);     PersionInfo persionInfo = listinfos.get(position);     tv.setText(persionInfo.getNameString());     if (persionInfo.isChick()) {       convertView.setBackgroundResource(R.drawable.tongcheng_all_bg01);     } else {       convertView.setBackgroundColor(Color.parseColor("#f4f4f4"));     }     return convertView;   } }

4.adapter所需的list_item.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:minHeight="60dp"   android:gravity="center"   android:orientation="vertical" >   <TextView     android:id="@+id/tv"     android:layout_width="wrap_content"     android:layout_height="match_parent" /> </LinearLayout>

Maintivity

/**  *   * @author yihuanxing  *  */ public class MainActivity extends FragmentActivity implements OnItemClickListener {   List<PersionInfo> listinfoInfos=new ArrayList<PersionInfo>();   private ListView listView;   private MyAdapter adapter;   private MyFragment myFragment;   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     initView();   }   /**    * 初始化view    */   private void initView() {     // TODO Auto-generated method stub     for (int i = 0; i < 10; i++) {        PersionInfo info=new PersionInfo("常用分类"+i);       listinfoInfos.add(info);     }     //     listView = (ListView) findViewById(R.id.listview);     //默认     listinfoInfos.get(0).setChick(true);     adapter = new MyAdapter(this, listinfoInfos);     listView.setAdapter(adapter);     listView.setOnItemClickListener(this);     //创建MyFragment对象     myFragment = new MyFragment();     FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();     fragmentTransaction.replace(R.id.fragment_container, myFragment);     Bundle mBundle=new Bundle();     mBundle.putSerializable("info", listinfoInfos.get(0));     myFragment.setArguments(mBundle);     fragmentTransaction.commit();   }   @Override   public void onItemClick(AdapterView<?> parent, View view, int position,       long id) {      PersionInfo info = listinfoInfos.get(position);     for (int i = 0; i < listinfoInfos.size(); i++) {       if(listinfoInfos.get(i).getNameString().equals(info.getNameString())){         listinfoInfos.get(i).setChick(true);       }else {         listinfoInfos.get(i).setChick(false);       }     }     adapter.notifyDataSetChanged();     //     //创建MyFragment对象     myFragment = new MyFragment();     FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();     fragmentTransaction.replace(R.id.fragment_container, myFragment);     Bundle mBundle=new Bundle();     mBundle.putSerializable("info", listinfoInfos.get(position));     myFragment.setArguments(mBundle);     fragmentTransaction.commit();   } }

6 main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:orientation="vertical" >   <RelativeLayout     android:id="@+id/jzfw_top_layout"     android:layout_width="match_parent"     android:layout_height="42dp"     android:background="@drawable/home_title"     android:gravity="center_vertical" >     <TextView       android:id="@+id/jzfw_top_layout_02"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_centerHorizontal="true"       android:layout_centerVertical="true"       android:text="仿京东分类"       android:textColor="#ffffff"       android:textSize="20sp" />   </RelativeLayout>   <View     android:layout_width="match_parent"     android:layout_height="1dp"     android:background="#cdcdcd" />   <LinearLayout     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background="#fbfbfb"     android:orientation="horizontal" >     <ListView       android:id="@+id/listview"       android:layout_width="0dp"       android:layout_height="match_parent"       android:scrollbars="none"       android:layout_weight="1.0"       android:background="#f4f4f4" />     <View       android:layout_width="1dp"       android:layout_height="match_parent"       android:background="#cdcdcd" />     <FrameLayout       android:id="@+id/fragment_container"       android:layout_width="0dp"       android:layout_height="match_parent"       android:layout_weight="3.0" />   </LinearLayout> </LinearLayout>

看完上述内容,你们对怎么在Android中实现一个京东分类效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI