Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.17 KB | None | 0 0
  1. mSpnImageSize = (Spinner) findViewById(R.id.spnImageSize);
  2.  
  3. package com.laurengariepy.android.gridimagesearch;
  4.  
  5. import android.R;
  6. import android.content.Intent;
  7. import android.content.SharedPreferences;
  8. import android.os.Bundle;
  9. import android.support.v7.app.ActionBarActivity;
  10. import android.text.Selection;
  11. import android.view.Menu;
  12. import android.view.View;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.Spinner;
  17.  
  18. public class FilterActivity extends ActionBarActivity {
  19.  
  20. protected static final String FILTERS = "FilterPreferences";
  21.  
  22. private Spinner mSpnImageSize,
  23. mSpnColorFilter,
  24. mSpnImageType;
  25. private EditText mEtSiteFilter;
  26. private Button mBtnSave;
  27.  
  28. private ArrayAdapter<CharSequence> aImageSizeAdapter,
  29. aColorFilterAdapter,
  30. aImageTypeAdapter;
  31.  
  32. @Override
  33. protected void onCreate(Bundle savedInstanceState) {
  34. super.onCreate(savedInstanceState);
  35. setContentView(R.layout.activity_filter);
  36.  
  37. setupViews();
  38. restoreFilterPreferences();
  39. setCursor();
  40. }
  41.  
  42. private void setupViews() {
  43. mSpnImageSize = (Spinner) findViewById(R.id.spnImageSize);
  44. aImageSizeAdapter = ArrayAdapter.createFromResource(this, R.array.image_size_options,
  45. android.R.layout.simple_spinner_item);
  46. aImageSizeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  47. mSpnImageSize.setAdapter(aImageSizeAdapter);
  48.  
  49. mSpnColorFilter = (Spinner) findViewById(R.id.spnColorFilter);
  50. aColorFilterAdapter = ArrayAdapter.createFromResource(this, R.array.color_filter_options,
  51. android.R.layout.simple_spinner_item);
  52. aColorFilterAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  53. mSpnColorFilter.setAdapter(aColorFilterAdapter);
  54.  
  55. mSpnImageType = (Spinner) findViewById(R.id.spnImageType);
  56. aImageTypeAdapter = ArrayAdapter.createFromResource(this, R.array.image_type_options,
  57. android.R.layout.simple_spinner_item);
  58. aImageTypeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  59. mSpnImageType.setAdapter(aImageTypeAdapter);
  60.  
  61. mEtSiteFilter = (EditText) findViewById(R.id.etSiteFilter);
  62.  
  63. mBtnSave = (Button) findViewById(R.id.btnSave);
  64. mBtnSave.setOnClickListener( new View.OnClickListener() {
  65. @Override
  66. public void onClick(View v) {
  67. Intent i = new Intent();
  68. setResult(RESULT_OK, i);
  69. finish();
  70. }
  71. });
  72. }
  73.  
  74. private void restoreFilterPreferences() {
  75. SharedPreferences filters = getSharedPreferences(FILTERS, 0);
  76.  
  77. int imageSizeSelection = filters.getInt("image_size", 0);
  78. mSpnImageSize.setSelection(imageSizeSelection);
  79.  
  80. int colorFilterSelection = filters.getInt("color_filter", 0);
  81. mSpnColorFilter.setSelection(colorFilterSelection);
  82.  
  83. int imageTypeSelection = filters.getInt("image_type", 0);
  84. mSpnImageType.setSelection(imageTypeSelection);
  85.  
  86. String siteFilterSelection = filters.getString("site_filter", mEtSiteFilter.getHint().toString());
  87. mEtSiteFilter.setText(siteFilterSelection);
  88. }
  89.  
  90. private void setCursor() {
  91. int position = mEtSiteFilter.length();
  92. Selection.setSelection(mEtSiteFilter.getText(), position);
  93. }
  94.  
  95. @Override
  96. protected void onPause() {
  97. super.onPause();
  98. saveFilterPreferences();
  99. }
  100.  
  101. private void saveFilterPreferences() {
  102. SharedPreferences filters = getSharedPreferences(FILTERS, 0);
  103. SharedPreferences.Editor editor = filters.edit();
  104. editor.putInt("image_size", mSpnImageSize.getSelectedItemPosition());
  105. editor.putInt("color_filter", mSpnColorFilter.getSelectedItemPosition());
  106. editor.putInt("image_type", mSpnImageType.getSelectedItemPosition());
  107. editor.putString("site_filter", mEtSiteFilter.getText().toString());
  108. editor.commit();
  109. }
  110.  
  111. @Override
  112. public boolean onCreateOptionsMenu(Menu menu) {
  113. getMenuInflater().inflate(R.menu.filter, menu);
  114. return true;
  115. }
  116.  
  117. }
  118.  
  119. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  120. xmlns:tools="http://schemas.android.com/tools"
  121. android:id="@+id/container"
  122. android:layout_width="match_parent"
  123. android:layout_height="match_parent" >
  124.  
  125. <TextView
  126. android:id="@+id/tvFilterHeader"
  127. android:layout_width="wrap_content"
  128. android:layout_height="wrap_content"
  129. android:layout_alignParentLeft="true"
  130. android:layout_alignParentTop="true"
  131. android:layout_margin="10dp"
  132. android:textStyle="bold"
  133. android:textSize="22sp"
  134. android:text="@string/tv_filter_header" />
  135.  
  136. <TextView
  137. android:id="@+id/tvImageSize"
  138. android:layout_width="wrap_content"
  139. android:layout_height="wrap_content"
  140. android:layout_alignParentLeft="true"
  141. android:layout_below="@+id/tvFilterHeader"
  142. android:layout_margin="10dp"
  143. android:textSize="18sp"
  144. android:text="@string/tv_image_size" />
  145.  
  146. <Spinner
  147. android:id="@+id/spnImageSize"
  148. android:layout_width="wrap_content"
  149. android:layout_height="wrap_content"
  150. android:layout_alignParentRight="true"
  151. android:layout_alignBottom="@+id/tvImageSize"
  152. android:layout_toRightOf="@+id/tvImageSize"
  153. android:textSize="18sp"
  154. android:spinnerMode="dropdown" />
  155.  
  156. <TextView
  157. android:id="@+id/tvColorFilter"
  158. android:layout_width="wrap_content"
  159. android:layout_height="wrap_content"
  160. android:layout_alignParentLeft="true"
  161. android:layout_below="@+id/tvImageSize"
  162. android:layout_margin="10dp"
  163. android:textSize="18sp"
  164. android:text="@string/tv_color_filter" />
  165.  
  166. <Spinner
  167. android:id="@+id/spnColorFilter"
  168. android:layout_width="wrap_content"
  169. android:layout_height="wrap_content"
  170. android:layout_alignParentRight="true"
  171. android:layout_alignBottom="@+id/tvColorFilter"
  172. android:layout_toRightOf="@+id/tvColorFilter"
  173. android:textSize="18sp"
  174. android:spinnerMode="dropdown" />
  175.  
  176. <TextView
  177. android:id="@+id/tvImageType"
  178. android:layout_width="wrap_content"
  179. android:layout_height="wrap_content"
  180. android:layout_alignParentLeft="true"
  181. android:layout_below="@+id/tvColorFilter"
  182. android:layout_margin="10dp"
  183. android:textSize="18sp"
  184. android:text="@string/tv_image_type" />
  185.  
  186. <Spinner
  187. android:id="@+id/spnImageType"
  188. android:layout_width="wrap_content"
  189. android:layout_height="wrap_content"
  190. android:layout_alignParentRight="true"
  191. android:layout_alignBottom="@+id/tvImageType"
  192. android:layout_toRightOf="@+id/tvImageType"
  193. android:textSize="18sp"
  194. android:spinnerMode="dropdown" />
  195.  
  196. <TextView
  197. android:id="@+id/tvSiteFilter"
  198. android:layout_width="wrap_content"
  199. android:layout_height="wrap_content"
  200. android:layout_alignParentLeft="true"
  201. android:layout_below="@+id/tvImageType"
  202. android:layout_margin="10dp"
  203. android:textSize="18sp"
  204. android:text="@string/tv_site_filter" />
  205.  
  206. <EditText
  207. android:id="@+id/etSiteFilter"
  208. android:layout_width="wrap_content"
  209. android:layout_height="wrap_content"
  210. android:layout_alignBottom="@+id/tvSiteFilter"
  211. android:layout_toRightOf="@+id/tvSiteFilter"
  212. android:ems="10"
  213. android:hint="@string/et_filter_hint" >
  214.  
  215. <requestFocus />
  216. </EditText>
  217.  
  218. <Button
  219. android:id="@+id/btnSave"
  220. android:layout_width="wrap_content"
  221. android:layout_height="wrap_content"
  222. android:layout_below="@+id/tvSiteFilter"
  223. android:layout_centerHorizontal="true"
  224. android:layout_marginTop="36dp"
  225. android:text="@string/btn_save" />
  226.  
  227. </RelativeLayout>
  228.  
  229. import android.R;
  230.  
  231. import com.laurengariepy.android.gridimagesearch.R;
  232. // your packagename.R
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement