Commit 1bdac8f9 authored by Mrunzzz's avatar Mrunzzz

PeopleFrag Suggestion List

parent 8da030db
...@@ -47,4 +47,5 @@ dependencies { ...@@ -47,4 +47,5 @@ dependencies {
compile "com.squareup.retrofit2:converter-gson:${retrofitVersion}" compile "com.squareup.retrofit2:converter-gson:${retrofitVersion}"
compile "com.squareup.okhttp3:okhttp:${okhttpVersion}" compile "com.squareup.okhttp3:okhttp:${okhttpVersion}"
compile "com.squareup.okhttp3:logging-interceptor:${okhttpVersion}" compile "com.squareup.okhttp3:logging-interceptor:${okhttpVersion}"
implementation 'com.android.support:support-v4:25.4.0'
} }
...@@ -23,6 +23,7 @@ import in.ac.iitb.gymkhana.iitbapp.fragment.MapFragment; ...@@ -23,6 +23,7 @@ import in.ac.iitb.gymkhana.iitbapp.fragment.MapFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.MessMenuFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.MessMenuFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.MyEventsFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.MyEventsFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.PTCellFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.PTCellFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.PeopleFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.TimetableFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.TimetableFragment;
...@@ -130,6 +131,11 @@ public class MainActivity extends AppCompatActivity ...@@ -130,6 +131,11 @@ public class MainActivity extends AppCompatActivity
AboutFragment aboutFragment = new AboutFragment(); AboutFragment aboutFragment = new AboutFragment();
updateFragment(aboutFragment); updateFragment(aboutFragment);
break; break;
case R.id.nav_people:
PeopleFragment peopleFragment = new PeopleFragment();
updateFragment(peopleFragment);
break;
} }
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
......
package in.ac.iitb.gymkhana.iitbapp;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by mrunz on 6/7/17.
*/
public class PeopleSuggestionAdapter extends BaseAdapter implements Filterable {
List mData;
List mStringFilterList;
ValueFilter valueFilter;
private LayoutInflater inflater;
public PeopleSuggestionAdapter(List cancel_type) {
mData = cancel_type;
mStringFilterList = cancel_type;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, final ViewGroup parent) {
if (inflater == null) {
inflater = (LayoutInflater) parent.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
View view = inflater.inflate(R.layout.ppl_search_suggestion_item_view, parent, false);
TextView tv_suggestion = (TextView) view.findViewById(R.id.suggestion_item);
tv_suggestion.setText(mData.get(position).toString());
return view;
}
@Override
public Filter getFilter() {
if (valueFilter == null) {
valueFilter = new ValueFilter();
}
return valueFilter;
}
private class ValueFilter extends Filter {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults results = new FilterResults();
if (constraint != null && constraint.length() > 0) {
List filterList = new ArrayList();
for (int i = 0; i < mStringFilterList.size(); i++) {
if ((mStringFilterList.get(i).toString().toUpperCase()).contains(constraint.toString().toUpperCase())) {
filterList.add(mStringFilterList.get(i));
}
}
results.count = filterList.size();
results.values = filterList;
} else {
results.count = mStringFilterList.size();
results.values = mStringFilterList;
}
return results;
}
@Override
protected void publishResults(CharSequence constraint,
FilterResults results) {
mData = (List) results.values;
notifyDataSetChanged();
}
}
}
\ No newline at end of file
package in.ac.iitb.gymkhana.iitbapp.fragment;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.support.v7.widget.SearchView;
import java.util.ArrayList;
import in.ac.iitb.gymkhana.iitbapp.PeopleSuggestionAdapter;
import in.ac.iitb.gymkhana.iitbapp.R;
public class PeopleFragment extends Fragment {
View view;
SearchView searchView;
PeopleSuggestionAdapter adapter;
ArrayList<String> suggestionList=new ArrayList<String>();
ListView listView;
public PeopleFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view=inflater.inflate(R.layout.fragment_people, container, false);
suggestionList.add("Web and Coding Club");
suggestionList.add("Electronics and Robotics Club");
suggestionList.add("Krittika");
suggestionList.add("Maths and Physics Club");
suggestionList.add("Aeromodelling Club");
suggestionList.add("Literati");
suggestionList.add("Roots");
suggestionList.add("Staccato");
suggestionList.add("Saaz");
suggestionList.add("InSync");
suggestionList.add("Pixels");
suggestionList.add("Rang");
suggestionList.add("FourthWall");
suggestionList.add("WeSpeak and Vaani");
suggestionList.add("SilverScreen");
suggestionList.add("IIT-BBC");
suggestionList.add("Design Club");
suggestionList.add("LifeStyleClub");
suggestionList.add("MoodIndigo");
suggestionList.add("Techfest");
suggestionList.add("SARC");
suggestionList.add("Academic Council");
listView= (ListView) view.findViewById(R.id.list_view);
listView.setVisibility(View.GONE);
searchView=(SearchView) view.findViewById(R.id.search);
adapter=new PeopleSuggestionAdapter(suggestionList);
listView.setAdapter(adapter);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
listView.setVisibility(View.GONE);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
listView.setVisibility(View.VISIBLE);
adapter.getFilter().filter(newText);
return false;
}
});
//TODO SuggestionClickListener
return view;
}
}
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/constraintlayout_for_fragment" android:id="@+id/constraintlayout_for_fragment"
...@@ -7,4 +7,5 @@ ...@@ -7,4 +7,5 @@
android:layout_height="match_parent" android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="in.ac.iitb.gymkhana.iitbapp.MainActivity" tools:context="in.ac.iitb.gymkhana.iitbapp.MainActivity"
tools:showIn="@layout/app_bar_main" /> tools:showIn="@layout/app_bar_main"
android:orientation="vertical"/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="in.ac.iitb.gymkhana.iitbapp.fragment.PeopleFragment">
<!-- TODO: Update blank fragment layout -->
<android.support.v7.widget.SearchView
android:id="@+id/search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:defaultQueryHint="Search"
android:clickable="true"/>
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:visibility="gone"
android:layout_alignParentStart="true"
android:layout_below="@+id/search" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="suggestion"
android:padding="8dp"
android:textSize="20sp"
android:id="@+id/suggestion_item"/>
</LinearLayout>
\ No newline at end of file
...@@ -42,6 +42,9 @@ ...@@ -42,6 +42,9 @@
android:id="@+id/nav_map" android:id="@+id/nav_map"
android:icon="@drawable/ic_map" android:icon="@drawable/ic_map"
android:title="Map" /> android:title="Map" />
<item
android:id="@+id/nav_people"
android:title="People" />
</group> </group>
<item android:title="Communicate"> <item android:title="Communicate">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment