Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions starter-code/ShoppingListWithSearch/.idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions starter-code/ShoppingListWithSearch/.idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions starter-code/ShoppingListWithSearch/.idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

77 changes: 77 additions & 0 deletions starter-code/ShoppingListWithSearch/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions starter-code/ShoppingListWithSearch/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions starter-code/ShoppingListWithSearch/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.SEARCH"/>
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
</application>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
Expand All @@ -12,28 +13,69 @@
import android.widget.CursorAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
private ListView mShoppingListView;
private ListView mShoppingListView2;

private CursorAdapter mCursorAdapter;
private CursorAdapter mCursorAdapter2;

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

mShoppingListView = (ListView)findViewById(R.id.shopping_list_view);
mShoppingListView = (ListView) findViewById(R.id.shopping_list_view);


Cursor cursor = ShoppingSQLiteOpenHelper.getInstance(MainActivity.this).getShoppingList();

mCursorAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,cursor,new String[]{ShoppingSQLiteOpenHelper.COL_ITEM_NAME},new int[]{android.R.id.text1},0);
mCursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, new String[]{ShoppingSQLiteOpenHelper.COL_ITEM_NAME}, new int[]{android.R.id.text1}, 0);
mShoppingListView.setAdapter(mCursorAdapter);

handleIntent(getIntent());
}

public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.main_menu, menu);

return super.onCreateOptionsMenu(menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

return true;
}

@Override
protected void onNewIntent(Intent intent) {
handleIntent(intent);
}

private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
// Toast.makeText(MainActivity.this, "Searching for " + query, Toast.LENGTH_SHORT).show();

Cursor cursor2 = ShoppingSQLiteOpenHelper.getInstance(this).searchShoppingList(query);
mCursorAdapter.swapCursor(cursor2);

// mShoppingListView2 = (ListView) findViewById(R.id.shopping_list_view2);
// Cursor cursor3 = ShoppingSQLiteOpenHelper.getInstance(MainActivity.this).searchShoppingListType(query);

// mCursorAdapter2 = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor3, new String[]{ShoppingSQLiteOpenHelper.COL_ITEM_TYPE}, new int[]{android.R.id.text1}, 0);
// mShoppingListView2.setAdapter(mCursorAdapter2);
// mCursorAdapter2.swapCursor(cursor3);


TextView textViewResults = (TextView) findViewById(R.id.textViewResults);
textViewResults.setText("Showing results for \""+query+"\":\n");

}
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,39 @@ public Cursor getShoppingList(){
return cursor;
}

public Cursor searchShoppingList(String query){

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor2 = db.query(SHOPPING_LIST_TABLE_NAME, // a. table
SHOPPING_COLUMNS, // b. column names
COL_ITEM_NAME+" LIKE ?", // c. selections
new String[]{"%"+query+"%"}, // d. selections args
null, // e. group by
null, // f. having+
null, // g. order by
null); // h. limit

return cursor2;
}

public Cursor searchShoppingListType(String query){

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor3 = db.query(SHOPPING_LIST_TABLE_NAME, // a. table
SHOPPING_COLUMNS, // b. column names
COL_ITEM_TYPE+" LIKE ?", // c. selections
new String[]{"%"+query+"%"}, // d. selections args
null, // e. group by
null, // f. having+
null, // g. order by
null); // h. limit

return cursor3;
}


public int deleteItem(int id){
SQLiteDatabase db = getWritableDatabase();
int deleteNum = db.delete(SHOPPING_LIST_TABLE_NAME,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="ly.generalassemb.drewmahrt.shoppinglistwithsearch.MainActivity">
tools:context="ly.generalassemb.drewmahrt.shoppinglistwithsearch.MainActivity"
android:orientation="vertical">

<ListView
android:id="@+id/shopping_list_view"
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</RelativeLayout>
android:layout_height="wrap_content"
android:id="@+id/textViewResults"
/>

<!--<LinearLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:orientation="horizontal">-->

<ListView
android:id="@+id/shopping_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
></ListView>

<!--<ListView-->
<!--android:id="@+id/shopping_list_view2"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_weight="1"-->
<!--></ListView>-->

<!--</LinearLayout>-->


</LinearLayout>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always"
android:title="Search"
app:actionViewClass="android.support.v7.widget.SearchView"
android:title="Search"/>
app:showAsAction="always" />
</menu>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="Search for something..."/>