Skip to content

Commit

Permalink
添加BaseRecyclerView的封装
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexMahao committed Sep 26, 2016
1 parent e3d1300 commit 0bbf55e
Show file tree
Hide file tree
Showing 4 changed files with 131 additions and 1 deletion.
4 changes: 3 additions & 1 deletion systemwidgetdemo/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".dialog.DialogMainActivity"
<activity android:name=".recycleView.base.PersonActivity"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand All @@ -21,6 +21,8 @@

<activity android:name=".dialog.CustomDialogActivity"/>



</application>

</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.mahao.alex.systemwidgetdemo.recycleView.base;

/**
* Created by alex_mahao on 2016/9/26.
*/
public class Person {

private String name;

public Person(String s) {
this.name = s;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package com.mahao.alex.systemwidgetdemo.recycleView.base;

import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.mahao.alex.systemwidgetdemo.R;

import java.util.ArrayList;

/**
* Created by alex_mahao on 2016/9/26.
*/
public class PersonActivity extends AppCompatActivity {


private RecyclerView mRecycler;

private ArrayList<Person> mPersons;

private PersonAdapter mAdapter;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_person);

mRecycler = ((RecyclerView) findViewById(R.id.reycler));


LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);


mRecycler.setLayoutManager(manager);


mPersons = new ArrayList<>();

for(int i = 0 ;i <50;i++){

mPersons.add(new Person(i+""));
}

mAdapter = new PersonAdapter(mPersons);


mRecycler.setAdapter(mAdapter);

// 设置头部布局
mAdapter.setHeaderView(createView(Color.BLUE,"HEADER"));

// 设置底部布局
mAdapter.setFooterView(createView(Color.RED,"FOOTER"));

}


/**
* 创建一个简单的布局
* @param color
* @param str
* @return
*/
public View createView(int color,String str){
TextView text = new TextView(this);
RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,100);
text.setLayoutParams(params);
text.setBackgroundColor(color);
text.setText(str);
text.setGravity(Gravity.CENTER);
return text;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.mahao.alex.systemwidgetdemo.recycleView.base;

import android.widget.TextView;

import com.mahao.alex.systemwidgetdemo.R;

import java.util.List;

/**
* Created by alex_mahao on 2016/9/26.
*/
public class PersonAdapter extends BaseRecycleAdapter<Person> {

public PersonAdapter(List<Person> datas) {
super(datas);
}

@Override
protected void bindData(BaseViewHolder holder, int position) {
((TextView) holder.getView(R.id.name)).setText(datas.get(position).getName());
}

@Override
public int getLayoutId() {
return R.layout.item_person;
}
}

0 comments on commit 0bbf55e

Please sign in to comment.