大二下学期团队项目(手机端)
今日实现了我的页面的,想看,在看,看过的页面内容的显示,原先想使用Fragment的嵌套,但是没有成功,
于是就给每个radiobutton绑定了一个事件,监听radiogroup是否发生改变,然后返回对应的数据,
注意不能使用activity要在fragment中编写,然后返回视图:Fragment部分
package com.example.cloudlibrary.Fragment; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.viewpager.widget.ViewPager; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.RadioButton; import android.widget.RadioGroup; import com.example.cloudlibrary.Adapter.MyPagerListAdapter; import com.example.cloudlibrary.Data.ListData; import com.example.cloudlibrary.R; import java.util.ArrayList; import java.util.List; public class MyPageFragment extends Fragment implements RadioGroup.OnCheckedChangeListener{ private RadioGroup my_pager_group; private RadioButton want_look; private RadioButton now_look; private RadioButton have_look; private List<ListData> list_data=new ArrayList<>(); private ListView mypager_like_list; private ListData listData; private View view; private MyPagerListAdapter myPagerListAdapter; public static final int PAGE_ONE = 0; public static final int PAGE_TWO = 1; public static final int PAGE_THREE = 2; public MyPageFragment(){ } @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.activity_my_page, container, false); my_pager_group = (RadioGroup) view.findViewById(R.id.my_pager_group); want_look = (RadioButton) view.findViewById(R.id.want_look); now_look = (RadioButton) view.findViewById(R.id.now_look); have_look = (RadioButton) view.findViewById(R.id.have_look); my_pager_group.setOnCheckedChangeListener(this); RadioButton[] rbs = new RadioButton[3]; rbs[0] =want_look; rbs[1] = now_look; rbs[2] = have_look; return view; } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.want_look: list_data=new ArrayList<>(); listData=new ListData("head1","吹响吧,上低音号!"); list_data.add(listData); //list_list_Data= dataDao.queryData("",query_stuid.getText().toString()); mypager_like_list=(ListView)view.findViewById(R.id.mypager_like_list); myPagerListAdapter=new MyPagerListAdapter(getContext(),list_data); mypager_like_list.setAdapter(myPagerListAdapter); break; case R.id.now_look: list_data=new ArrayList<>(); listData=new ListData("head2","AIR"); list_data.add(listData); //list_list_Data= dataDao.queryData("",query_stuid.getText().toString()); mypager_like_list=(ListView)view.findViewById(R.id.mypager_like_list); myPagerListAdapter=new MyPagerListAdapter(getContext(),list_data); mypager_like_list.setAdapter(myPagerListAdapter); break; case R.id.have_look: list_data=new ArrayList<>(); listData=new ListData("head3","百变小樱"); list_data.add(listData); //list_list_Data= dataDao.queryData("",query_stuid.getText().toString()); mypager_like_list=(ListView)view.findViewById(R.id.mypager_like_list); myPagerListAdapter=new MyPagerListAdapter(getContext(),list_data); mypager_like_list.setAdapter(myPagerListAdapter); break; } } } listview adapter部分: package com.example.cloudlibrary.Adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.TextView; import com.example.cloudlibrary.Data.ListData; import com.example.cloudlibrary.R; import org.w3c.dom.Text; import java.util.ArrayList; import java.util.List; public class MyPagerListAdapter extends BaseAdapter { private List<ListData> list_data=new ArrayList<>(); private Context context; public MyPagerListAdapter(Context context, List<ListData> list_data){ this.context=context; this.list_data=list_data; } @Override public int getCount() { return list_data.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView==null) { convertView= LayoutInflater.from(context).inflate(R.layout.mypager_like_list,null); } ImageView picture_list=(ImageView)convertView.findViewById(R.id.picture_list); TextView name_list=(TextView)convertView.findViewById(R.id.name_list); ListData listData=list_data.get(position); name_list.setText(listData.getName()); switch (listData.getImg()){ case "head1": picture_list.setImageResource(R.mipmap.head1); break; case "head2": picture_list.setImageResource(R.mipmap.head2); break; case "head3": picture_list.setImageResource(R.mipmap.head3); break; } return convertView; } } xml部分: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="80dp" android:orientation="horizontal"> <ImageView android:id="@+id/first_head_picture" android:layout_width="60dp" android:layout_height="60dp" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:src="@mipmap/headpictrue"></ImageView> <View android:layout_width="2px" android:layout_height="45dp" android:background="@color/login_line_color" android:layout_marginTop="20dp" android:layout_marginLeft="20dp"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/my_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="20dp" android:layout_marginLeft="30dp" android:textColor="#EEAAFF" android:text="风吹过半夏"></TextView> <TextView android:id="@+id/my_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="20dp" android:layout_marginLeft="30dp" android:textColor="#EEAAFF" android:text="157****5171"></TextView> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我的收藏" android:textSize="20dp"></TextView> <RadioGroup android:id="@+id/my_pager_group" android:layout_width="match_parent" android:layout_height="30dp" android:layout_alignParentBottom="true" android:background="#ffffff" android:orientation="horizontal"> <RadioButton android:id="@+id/want_look" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/tab_menu_item" android:text="想看"></RadioButton> <RadioButton android:id="@+id/now_look" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/tab_menu_item" android:text="在看"></RadioButton> <RadioButton android:id="@+id/have_look" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/tab_menu_item" android:text="看过"></RadioButton> </RadioGroup> </LinearLayout> <View android:id="@+id/div_tab_bar" android:layout_width="match_parent" android:layout_height="2px" android:layout_above="@id/main_group" android:background="#DFDBDB" /> <ListView android:id="@+id/mypager_like_list" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView> </LinearLayout> </LinearLayout>
今日实现了我的页面的,想看,在看,看过的页面内容的显示,原先想使用Fragment的嵌套,但是没有成功,于是就给每个radiobutton绑定了一个事件,监听radiogroup是否发生改变,然后返回对应的数据,注意不能使用activity要在fragment中编写,然后返回视图:
Fragment部分
package com.example.cloudlibrary.Fragment; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.viewpager.widget.ViewPager; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.RadioButton; import android.widget.RadioGroup; import com.example.cloudlibrary.Adapter.MyPagerListAdapter; import com.example.cloudlibrary.Data.ListData; import com.example.cloudlibrary.R; import java.util.ArrayList; import java.util.List; public class MyPageFragment extends Fragment implements RadioGroup.OnCheckedChangeListener{ private RadioGroup my_pager_group; private RadioButton want_look; private RadioButton now_look; private RadioButton have_look; private List<ListData> list_data=new ArrayList<>(); private ListView mypager_like_list; private ListData listData; private View view; private MyPagerListAdapter myPagerListAdapter; public static final int PAGE_ONE = 0; public static final int PAGE_TWO = 1; public static final int PAGE_THREE = 2; public MyPageFragment(){ } @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.activity_my_page, container, false); my_pager_group = (RadioGroup) view.findViewById(R.id.my_pager_group); want_look = (RadioButton) view.findViewById(R.id.want_look); now_look = (RadioButton) view.findViewById(R.id.now_look); have_look = (RadioButton) view.findViewById(R.id.have_look); my_pager_group.setOnCheckedChangeListener(this); RadioButton[] rbs = new RadioButton[3]; rbs[0] =want_look; rbs[1] = now_look; rbs[2] = have_look; return view; } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.want_look: list_data=new ArrayList<>(); listData=new ListData("head1","吹响吧,上低音号!"); list_data.add(listData); //list_list_Data= dataDao.queryData("",query_stuid.getText().toString()); mypager_like_list=(ListView)view.findViewById(R.id.mypager_like_list); myPagerListAdapter=new MyPagerListAdapter(getContext(),list_data); mypager_like_list.setAdapter(myPagerListAdapter); break; case R.id.now_look: list_data=new ArrayList<>(); listData=new ListData("head2","AIR"); list_data.add(listData); //list_list_Data= dataDao.queryData("",query_stuid.getText().toString()); mypager_like_list=(ListView)view.findViewById(R.id.mypager_like_list); myPagerListAdapter=new MyPagerListAdapter(getContext(),list_data); mypager_like_list.setAdapter(myPagerListAdapter); break; case R.id.have_look: list_data=new ArrayList<>(); listData=new ListData("head3","百变小樱"); list_data.add(listData); //list_list_Data= dataDao.queryData("",query_stuid.getText().toString()); mypager_like_list=(ListView)view.findViewById(R.id.mypager_like_list); myPagerListAdapter=new MyPagerListAdapter(getContext(),list_data); mypager_like_list.setAdapter(myPagerListAdapter); break; } } } listview adapter部分: package com.example.cloudlibrary.Adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.TextView; import com.example.cloudlibrary.Data.ListData; import com.example.cloudlibrary.R; import org.w3c.dom.Text; import java.util.ArrayList; import java.util.List; public class MyPagerListAdapter extends BaseAdapter { private List<ListData> list_data=new ArrayList<>(); private Context context; public MyPagerListAdapter(Context context, List<ListData> list_data){ this.context=context; this.list_data=list_data; } @Override public int getCount() { return list_data.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView==null) { convertView= LayoutInflater.from(context).inflate(R.layout.mypager_like_list,null); } ImageView picture_list=(ImageView)convertView.findViewById(R.id.picture_list); TextView name_list=(TextView)convertView.findViewById(R.id.name_list); ListData listData=list_data.get(position); name_list.setText(listData.getName()); switch (listData.getImg()){ case "head1": picture_list.setImageResource(R.mipmap.head1); break; case "head2": picture_list.setImageResource(R.mipmap.head2); break; case "head3": picture_list.setImageResource(R.mipmap.head3); break; } return convertView; } } xml部分: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="80dp" android:orientation="horizontal"> <ImageView android:id="@+id/first_head_picture" android:layout_width="60dp" android:layout_height="60dp" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:src="@mipmap/headpictrue"></ImageView> <View android:layout_width="2px" android:layout_height="45dp" android:background="@color/login_line_color" android:layout_marginTop="20dp" android:layout_marginLeft="20dp"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/my_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="20dp" android:layout_marginLeft="30dp" android:textColor="#EEAAFF" android:text="风吹过半夏"></TextView> <TextView android:id="@+id/my_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="20dp" android:layout_marginLeft="30dp" android:textColor="#EEAAFF" android:text="157****5171"></TextView> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我的收藏" android:textSize="20dp"></TextView> <RadioGroup android:id="@+id/my_pager_group" android:layout_width="match_parent" android:layout_height="30dp" android:layout_alignParentBottom="true" android:background="#ffffff" android:orientation="horizontal"> <RadioButton android:id="@+id/want_look" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/tab_menu_item" android:text="想看"></RadioButton> <RadioButton android:id="@+id/now_look" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/tab_menu_item" android:text="在看"></RadioButton> <RadioButton android:id="@+id/have_look" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/tab_menu_item" android:text="看过"></RadioButton> </RadioGroup> </LinearLayout> <View android:id="@+id/div_tab_bar" android:layout_width="match_parent" android:layout_height="2px" android:layout_above="@id/main_group" android:background="#DFDBDB" /> <ListView android:id="@+id/mypager_like_list" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView> </LinearLayout> </LinearLayout>