80,351
社区成员
发帖
与我相关
我的任务
分享
public class MainActivity extends AppCompatActivity {
private ViewPager mViewPage;
private MainPagerAdapter mPagerAdapter;
private ChatPageFragment mChatPage = new ChatPageFragment();
private MusicGroundFragment mMusicGround = new MusicGroundFragment();
private ContactPageFragment mContactPage = new ContactPageFragment();
private RecyclerView mChatRecycleView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//一些无关代码
initView();
}
private void initView(){
mViewPage = (ViewPager) findViewById(R.id.main_view_pager);
//mChatRecycleView = (RecyclerView) findViewById(R.id.chat_list_view);
FragmentTransaction ft= getSupportFragmentManager().beginTransaction();
ft.add(R.id.main_view_pager,mChatPage);
ft.add(R.id.main_view_pager,mMusicGround);
ft.add(R.id.main_view_pager,mContactPage);
ft.commit();
mChatRecycleView = mChatPage.getRecycleView();
mChatRecycleView.setLayoutManager(new LinearLayoutManager(this));
mChatRecycleView.setAdapter(new ChatPageAdapter(this));
ArrayList<Fragment> fragments = new ArrayList<>();
fragments.add(mChatPage);
fragments.add(mMusicGround);
fragments.add(mContactPage);
mPagerAdapter = new MainPagerAdapter(fragments);
mViewPage.setAdapter(mPagerAdapter);
}
//一些自动生成的代码
}
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
tools:context="com.f1993xuboss.musicpark.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_view_pager">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" >
<ImageSwitcher
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/chat_title_view"
android:layout_marginLeft="0dp"/>
<ImageSwitcher
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/contact_title_view"
android:layout_marginRight="0dp"/>
</android.support.v4.view.PagerTitleStrip>
</android.support.v4.view.ViewPager>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
public class ChatPageFragment extends Fragment {
private RecyclerView recyclerView;
public RecyclerView getRecycleView(){return recyclerView;}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.chat_list_view,container,false);
this.recyclerView = (RecyclerView) view.findViewById(R.id.chat_list_view);
return view;
}
}
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/chat_list_view">
</android.support.v7.widget.RecyclerView>
public class ChatPageAdapter extends RecyclerView.Adapter<ChatPageAdapter.ChatItemViewHolder> {
private Context mContext;
public ChatPageAdapter(Context context){
this.mContext = context;
}
@Override
public ChatItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.chat_item,parent,false);
return new ChatItemViewHolder(view);
}
@Override
public void onBindViewHolder(ChatItemViewHolder holder, int position) {
//TODO:add holder behavior to adjust the data from the internet
}
@Override
public int getItemCount() {
return 3;
}
class ChatItemViewHolder extends RecyclerView.ViewHolder {
ImageView mImageView;
TextView mPersonName;
TextView mChatContext;
TextView mData;
public ChatItemViewHolder(View itemView) {
super(itemView);
mImageView = (ImageView) itemView.findViewById(R.id.chat_item_person);
mPersonName = (TextView) itemView.findViewById(R.id.chat_item_person_name);
mChatContext = (TextView) itemView.findViewById(R.id.chat_item_context);
mData = (TextView) itemView.findViewById(R.id.chat_item_data);
}
}
}
mChatRecycleView.setLayoutManager(new LinearLayoutManager(getActivity()));
mChatRecycleView.setAdapter(new ChatPageAdapter(getActivity()
));