今日实现了我的页面的,想看,在看,看过的页面内容的显示,原先想使用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>