Skip to content

Commit 2b422f9

Browse files
authored
Merge pull request #10 from evrencoskun/master
merge back
2 parents 639509c + f986e56 commit 2b422f9

39 files changed

+1344
-1075
lines changed

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
- [x] TableView has an action listener interface to listen user touch interaction for each cell.
2626
- [x] TableView columns can be sorted in ascending or descending order.
2727
- [x] Hiding & Showing the row and the column is pretty easy.
28-
- [x] Filtering by more than one data. (*NEW*)
29-
- [x] Pagination functionality. (*NEW*)
28+
- [x] Filtering by more than one data.
29+
- [x] Pagination functionality.
3030

3131
## What's new
3232

@@ -69,7 +69,7 @@ To use this library in your android project, just simply add the following depen
6969

7070
```
7171
dependencies {
72-
compile 'com.evrencoskun.library:tableview:0.8.6'
72+
compile 'com.evrencoskun.library:tableview:0.8.8'
7373
}
7474
```
7575

@@ -155,7 +155,7 @@ Firstly, you must create your custom TableView Adapter which extends from ```Ab
155155
* @see #getCellItemViewType(int);
156156
*/
157157
@Override
158-
public RecyclerView.ViewHolder onCreateCellViewHolder(ViewGroup parent, int viewType) {
158+
public AbstractViewHolder onCreateCellViewHolder(ViewGroup parent, int viewType) {
159159
// Get cell xml layout
160160
View layout = LayoutInflater.from(context).inflate(R.layout.my_cell_layout,
161161
parent, false);
@@ -221,7 +221,7 @@ Firstly, you must create your custom TableView Adapter which extends from ```Ab
221221
* @see #getColumnHeaderItemViewType(int);
222222
*/
223223
@Override
224-
public RecyclerView.ViewHolder onCreateColumnHeaderViewHolder(ViewGroup parent, int viewType) {
224+
public AbstractViewHolder onCreateColumnHeaderViewHolder(ViewGroup parent, int viewType) {
225225

226226
// Get Column Header xml Layout
227227
View layout = LayoutInflater.from(context).inflate(R.layout
@@ -290,7 +290,7 @@ Firstly, you must create your custom TableView Adapter which extends from ```Ab
290290
* @see #getRowHeaderItemViewType(int);
291291
*/
292292
@Override
293-
public RecyclerView.ViewHolder onCreateRowHeaderViewHolder(ViewGroup parent, int viewType) {
293+
public AbstractViewHolder onCreateRowHeaderViewHolder(ViewGroup parent, int viewType) {
294294

295295
// Get Row Header xml Layout
296296
View layout = LayoutInflater.from(context).inflate(R.layout
@@ -948,6 +948,12 @@ With 0.8.5.5 version, hiding and showing any of column is pretty easy for TableV
948948
scrollToRowPosition(int row)
949949
```
950950

951+
- With 0.8.8 version, Column width values can be set programatically using the below function.
952+
953+
```java
954+
setColumnWidth(int columnPosition, int width)
955+
```
956+
951957
## Sample Apps
952958

953959
- This repository has an Sample Application of TableView.

app/src/main/java/com/evrencoskun/tableviewsample/MainActivity.java

Lines changed: 2 additions & 164 deletions
Original file line numberDiff line numberDiff line change
@@ -19,179 +19,17 @@
1919

2020
import android.os.Bundle;
2121
import android.support.v7.app.AppCompatActivity;
22-
import android.text.Editable;
23-
import android.text.TextUtils;
24-
import android.text.TextWatcher;
25-
import android.view.View;
26-
import android.widget.AdapterView;
27-
import android.widget.EditText;
28-
import android.widget.ImageButton;
29-
import android.widget.Spinner;
30-
import android.widget.TextView;
3122

3223
public class MainActivity extends AppCompatActivity {
3324

34-
private MainFragment mainFragment;
35-
private EditText searchField;
36-
private Spinner moodFilter, genderFilter, itemsPerPage;
37-
public ImageButton previousButton, nextButton;
38-
public EditText pageNumberField;
39-
public TextView tablePaginationDetails;
40-
4125
@Override
4226
protected void onCreate(Bundle savedInstanceState) {
4327
super.onCreate(savedInstanceState);
4428
setContentView(R.layout.activity_main);
4529

46-
mainFragment = new MainFragment();
47-
48-
View tableControls = findViewById(R.id.table_controls);
49-
searchField = findViewById(R.id.query_string);
50-
moodFilter = findViewById(R.id.mood_spinner);
51-
genderFilter = findViewById(R.id.gender_spinner);
52-
itemsPerPage = findViewById(R.id.items_per_page_spinner);
53-
54-
previousButton = findViewById(R.id.previous_button);
55-
nextButton = findViewById(R.id.next_button);
56-
pageNumberField = findViewById(R.id.page_number_text);
57-
tablePaginationDetails = findViewById(R.id.table_details);
58-
59-
if(mainFragment.isPaginationEnabled()) {
60-
tableControls.setVisibility(View.VISIBLE);
61-
searchField.addTextChangedListener(onSearchTextChange);
62-
moodFilter.setOnItemSelectedListener(onMoodSelectedListener);
63-
genderFilter.setOnItemSelectedListener(onGenderSelectedListener);
64-
itemsPerPage.setOnItemSelectedListener(onItemsPerPageSelectedListener);
65-
66-
previousButton.setOnClickListener(onPreviousPageButtonClicked);
67-
nextButton.setOnClickListener(onNextPageButtonClicked);
68-
pageNumberField.addTextChangedListener(onPageTextChanged);
69-
} else {
70-
tableControls.setVisibility(View.GONE);
71-
}
72-
7330
if (savedInstanceState == null) {
74-
getSupportFragmentManager().beginTransaction().add(R.id.activity_container,
75-
mainFragment, mainFragment.getClass().getSimpleName()).commit();
31+
getSupportFragmentManager().beginTransaction().add(R.id.activity_container, new
32+
MainFragment(), MainFragment.class.getSimpleName()).commit();
7633
}
77-
78-
}
79-
80-
@Override
81-
protected void onDestroy() {
82-
super.onDestroy();
8334
}
84-
85-
private TextWatcher onSearchTextChange = new TextWatcher() {
86-
@Override
87-
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
88-
89-
}
90-
91-
@Override
92-
public void onTextChanged(CharSequence s, int start, int before, int count) {
93-
mainFragment.filterTable(String.valueOf(s));
94-
}
95-
96-
@Override
97-
public void afterTextChanged(Editable s) {
98-
99-
}
100-
};
101-
102-
private AdapterView.OnItemSelectedListener onMoodSelectedListener = new AdapterView.OnItemSelectedListener() {
103-
@Override
104-
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
105-
mainFragment.filterTableForMood(parent.getItemAtPosition(position).toString());
106-
}
107-
108-
@Override
109-
public void onNothingSelected(AdapterView<?> parent) {
110-
111-
}
112-
};
113-
114-
private AdapterView.OnItemSelectedListener onGenderSelectedListener = new AdapterView.OnItemSelectedListener() {
115-
@Override
116-
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
117-
String filter = "";
118-
switch (parent.getItemAtPosition(position).toString()) {
119-
case "":
120-
filter = "";
121-
break;
122-
case "Male":
123-
filter = "boy";
124-
break;
125-
case "Female":
126-
filter = "girl";
127-
break;
128-
}
129-
130-
mainFragment.filterTableForGender(filter);
131-
}
132-
133-
@Override
134-
public void onNothingSelected(AdapterView<?> parent) {
135-
136-
}
137-
};
138-
139-
private AdapterView.OnItemSelectedListener onItemsPerPageSelectedListener = new AdapterView.OnItemSelectedListener() {
140-
@Override
141-
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
142-
int itemsPerPage;
143-
switch (parent.getItemAtPosition(position).toString()) {
144-
case "All":
145-
itemsPerPage = 0;
146-
break;
147-
default:
148-
itemsPerPage = Integer.valueOf(parent.getItemAtPosition(position).toString());
149-
}
150-
151-
mainFragment.setTableItemsPerPage(itemsPerPage);
152-
}
153-
154-
@Override
155-
public void onNothingSelected(AdapterView<?> parent) {
156-
157-
}
158-
};
159-
160-
private View.OnClickListener onPreviousPageButtonClicked = new View.OnClickListener() {
161-
@Override
162-
public void onClick(View v) {
163-
mainFragment.previousTablePage();
164-
}
165-
};
166-
167-
private View.OnClickListener onNextPageButtonClicked = new View.OnClickListener() {
168-
@Override
169-
public void onClick(View v) {
170-
mainFragment.nextTablePage();
171-
}
172-
};
173-
174-
private TextWatcher onPageTextChanged = new TextWatcher() {
175-
@Override
176-
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
177-
178-
}
179-
180-
@Override
181-
public void onTextChanged(CharSequence s, int start, int before, int count) {
182-
int page;
183-
if (TextUtils.isEmpty(s)) {
184-
page = 1;
185-
} else {
186-
page = Integer.valueOf(String.valueOf(s));
187-
}
188-
189-
mainFragment.goToTablePage(page);
190-
}
191-
192-
@Override
193-
public void afterTextChanged(Editable s) {
194-
195-
}
196-
};
19735
}

0 commit comments

Comments
 (0)