2014-04-18 143 views
0

首先抱歉,如果即時通訊新的Android和Java,仍然想實現一些我的論文關於應用程序即時創建,我只想讓它在操作欄中有一個搜索視圖爲某些活動來搜索我的自定義列表視圖中的相應字母或單詞......我不知道要在「doMySearch(字符串查詢)」中放入什麼來獲取結果。Android SearchView在操作欄不起作用

SearchResultsActivity.java

import android.app.ActionBar; 
    import android.app.ListActivity; 
    import android.app.SearchManager; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.widget.TextView; 

    public class SearchResultsActivity extends ListActivity { 

private TextView txtQuery; 

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

    // get the action bar 
    ActionBar actionBar = getActionBar(); 

    // Enabling Back navigation on Action Bar icon 
    actionBar.setDisplayHomeAsUpEnabled(true); 

    txtQuery = (TextView) findViewById(R.id.txtQuery); 

    handleIntent(getIntent()); 
} 

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

/** 
* Handling intent data 
*/ 
private void handleIntent(Intent intent) { 
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
     String query = intent.getStringExtra(SearchManager.QUERY); 

     doMySearch(query); 
     txtQuery.setText("Search Query: " + query); 
    } 
} 

private void doMySearch(String query) { 
    // TODO Auto-generated method stub 
     ArrayAdapter<String> adapter =new ArrayAdapter<String>(this, R.layout.subject_list_layout, R.id.subject_course_title_row); 
    return adapter; 

} 
} 

Searchable.xml

 <?xml version="1.0" encoding="utf-8"?> 
    <searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:hint="@string/search_hint" 
    android:label="@string/app_name" /> 

的Manifest.xml

 <!-- Sample Search --> 
    <activity 
     android:name="com.randomlyroaming.com.loaopencourseware.courses.BSIT" 
     android:screenOrientation="portrait" 
     android:windowSoftInputMode="stateHidden" > 
     <meta-data 
      android:name="android.app.default_searchable" 
      android:value=".SearchResultsActivity" /> 
    </activity> 

    <!-- Search results activity --> 
    <activity 
     android:name=".SearchResultsActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="android.intent.action.SEARCH" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.app.searchable" 
      android:resource="@xml/searchable" /> 
    </activity> 

請幫助...它已經重定向到「txtQuery.setText(」Search Query:「+ query);」 但沒有結果...我是否需要將方法「doMySearch(query);」我可以把什麼代碼,它在那裏,它的工作?..

謝謝你,你的幫助是非常讚賞...

+0

'doMySearch()'沒有任何代碼。什麼都不會發生。 'TextView'顯示你在搜索框中輸入的內容嗎?另外,'setIntent()'做了什麼?你可以顯示該方法 –

+0

是的,它顯示了我在搜索框中鍵入的內容,我的問題是我不知道我應該在doMysearch中放置什麼代碼,因爲我實際上找不到任何關於它的教程,我有我的customListview和適配器我不知道如何編碼它..對不起,作爲一個新手先生路易斯 – user3438885

+0

你可以更具體一點你想要什麼?適配器中有什麼?你在'ListView'中填充了一個數組嗎?在搜索單詞時是否要更改適配器? –

回答

0

,但沒有結果...我需要把一些東西的方法「doMySearch(查詢);!

是的,它不應該顯示任何東西,因爲你只是打印查詢到TextView

如果您要訪問的SQLite數據庫,更改ListView「。 s適配器,或者做其他事情,你必須在該方法中實現它。

回到你想要的,我想你正在尋找使用查詢來篩選ListView中的單詞,對嗎?無論如何,Here你有一個很好的教程。另外,this後可能會幫助你。