package com.basket.activities;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.basket.adapters.ExpandableListAdapter;
import com.example.basket.R;
import com.example.basket.R.id;
import com.example.basket.R.layout;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Menu;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.Toast;
public class FaqActivity extends Activity {
List<String> groupList;
List<String> childList;
Map<String, List<String>> laptopCollection;
ExpandableListView expListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createGroupList();
createCollection();
expListView = (ExpandableListView) findViewById(R.id.laptop_list);
final ExpandableListAdapter expListAdapter = new ExpandableListAdapter(
this, groupList, laptopCollection);
expListView.setAdapter(expListAdapter);
setGroupIndicatorToRight();
expListView.setOnChildClickListener(new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
final String selected = (String) expListAdapter.getChild(
groupPosition, childPosition);
Toast.makeText(getBaseContext(), selected, Toast.LENGTH_LONG)
.show();
return true;
}
});
}
private void createGroupList() {
groupList = new ArrayList<String>();
groupList.add("How to checkout");
groupList.add("How to make a new basket");
groupList.add("How to view categories");
groupList.add("How to add to basket");
groupList.add("How to access admin settings");
}
private void createCollection() {
// preparing laptops collection(child)
String[] hpModels = { "In your basket press checkout and then the checkout button." };
String[] hclModels = { "Admin settings are only available to administrators" };
String[] lenovoModels = { "On the home page swipe left" };
String[] sonyModels = { "In the baskets page press the menu button" };
String[] dellModels = { "Press add to basket in product page" };
laptopCollection = new LinkedHashMap<String, List<String>>();
for (String laptop : groupList) {
if (laptop.equals("How to checkout")) {
loadChild(hpModels);
} else if (laptop.equals("How to add to basket"))
loadChild(dellModels);
else if (laptop.equals("How to make a new basket"))
loadChild(sonyModels);
else if (laptop.equals("How to access admin settings"))
loadChild(hclModels);
else
loadChild(lenovoModels);
laptopCollection.put(laptop, childList);
}
}
private void loadChild(String[] laptopModels) {
childList = new ArrayList<String>();
for (String model : laptopModels)
childList.add(model);
}
private void setGroupIndicatorToRight() {
/* Get the screen width */
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
expListView.setIndicatorBounds(width - getDipsFromPixel(35), width
- getDipsFromPixel(5));
}
// Convert pixel to dip
public int getDipsFromPixel(float pixels) {
// Get the screen's density scale
final float scale = getResources().getDisplayMetrics().density;
// Convert the dps to pixels, based on density scale
return (int) (pixels * scale + 0.5f);
}
}