2015-12-13 59 views
-1

我正在使用搜索過濾器和可點擊列表視圖創建應用程序。搜索過濾器正在工作,但不是可點擊的列表視圖。具有可點擊列表視圖的搜索過濾器

public class MainActivity extends Activity { 

    private ListView lv; 

    ArrayAdapter<String> adapter; 

    EditText inputSearch; 

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


     String products[] ={"1","1A","1B","1C","1D","2","2A","3","3A","3B","3C","3D","4A","4","5","5A","6","6A","6B","7","8","8B","9","10","10A","11","12","12A","13","13A","13D","14","14A","14B","15","15A","15C","15D","15F","16","16A","16D","17","17A","17B","17C","17D","17E","17F","18","19","20","20A","20B","20C","20D"}; 


     lv = (ListView) findViewById(R.id.list_view); 
     inputSearch = (EditText) findViewById(R.id.inputSearch); 

     adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, products); 
     lv.setAdapter(adapter);  


     inputSearch.addTextChangedListener(new TextWatcher() { 

      @Override 
      public void afterTextChanged(Editable s) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, 
        int after) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, 
        int count) { 
       // TODO Auto-generated method stub 
       MainActivity.this.adapter.getFilter().filter(s); 
      }}); 




     //the code for clicking on the list view 

     public void onItemClick(AdapterView<?> parent, View view, 
          int position, long id) { 
        // TODO Auto-generated method stub 

       String routes =((TextView)view).getText().toString(); 

       Intent i = new Intent(getApplicationContext(), SingleListItem.class); 
        // sending data to new activity 

        i.putExtra("routes", routes); 
        startActivity(i); 
       }}); 
      } 

這是singlelistitem類

public class SingleListItem extends Activity{ 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.setContentView(R.layout.single_list_item_view); 

    TextView txtProduct = (TextView) findViewById(R.id.routes_lab); 

    Intent i = getIntent(); 
    // getting attached intent data 
    String product = i.getStringExtra("routes"); 

    txtProduct.setText(product); 
+0

以何種方式是應用程序「不工作」? –

+0

我的應用程序包含一個列表視圖和搜索過濾器。搜索過濾器將從列表視圖中搜索項目,當點擊一個選定的項目時,它應該給我另一個頁面上的額外內容。問題是,通過點擊該項目搜索應用程序停止工作。 – akash

回答

0

根據你的代碼我給下面的解決方案。

注意:在代碼中做一些修改。

​​

步驟3:請讓我知道它是否工作,這樣我可以幫助你

+0

我已經實施了更改,但現在可點擊列表視圖正在工作,但沒有搜索過濾器 – akash

+0

chsnge this code:MainActivity.this.adapter.getFilter()。filter(s);到 \t \t \t \t \t \t String text = inputSearch.getText()。toString(); \t \t \t \t adapter.filter(text); – ManiTeja

+0

如果您需要澄清,請檢查以下鏈接:http://androidtrainningcenter.blogspot.in/2013/04/implementing-search-functionality.html – ManiTeja