Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据所选名称筛选自动完成文本视图中的数据_Java_Android_Autocomplete - Fatal编程技术网

Java 根据所选名称筛选自动完成文本视图中的数据

Java 根据所选名称筛选自动完成文本视图中的数据,java,android,autocomplete,Java,Android,Autocomplete,在我的android应用程序中,有一个函数可以过滤与所选客户代码相关的数据。应用程序有一个自动完成的文本视图。用户可以选择特定的客户。然后系统根据所选客户代码过滤数据。如果用户未选择客户,则系统应显示所有客户详细信息 第一次,如果我没有选择特定客户,它会显示所有客户详细信息。然后我选择一个特定的客户,然后它显示与所选客户相关的数据。但这只发生过一次。第二次,如果我没有选择客户,则它不会显示所有客户详细信息。它仅显示前一个选定客户的数据。这意味着,如果我第二次选择特定客户,系统不会将选定的cusC

在我的android应用程序中,有一个函数可以过滤与所选客户代码相关的数据。应用程序有一个自动完成的文本视图。用户可以选择特定的客户。然后系统根据所选客户代码过滤数据。如果用户未选择客户,则系统应显示所有客户详细信息


第一次,如果我没有选择特定客户,它会显示所有客户详细信息。然后我选择一个特定的客户,然后它显示与所选客户相关的数据。但这只发生过一次。第二次,如果我没有选择客户,则它不会显示所有客户详细信息。它仅显示前一个选定客户的数据。这意味着,如果我第二次选择特定客户,系统不会将选定的cusCode从旧cusCode更改为新cusCode。为什么会这样

以下是我的尝试

ArrayAdapter<String> cusAdapter = new ArrayAdapter<String>(this, R.layout.list_item, lstCustName);
        cusName.setAdapter(cusAdapter);
        cusName.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View arg1, int arg2,long arg3) {
                selectedCusName = parent.getItemAtPosition(arg2).toString();                    

                if(selectedCusName.equals(null)){
                    selectedCusCode = "--Select--";
                } else {
                    selectedCusCode = customerMap.get(selectedCusName);

                }
            }

        });
我想知道的是这些代码段有什么问题


Thanx提前。

您的选择正确吗,当您选择任何项目时?如果我选择一个特定客户,它将显示该客户的数据。但问题是,如果我选择另一个客户,它将显示前一个选定客户的数据。它不会在第二次更改为相关的客户代码。逐行调试它,并获得一些特定的原因,如,未获取当前选定的客户代码,或未从数据库获取正确的值,或未根据数据更新视图?这可能是原因,因此请具体说明如果我选择了特定客户,它将显示与该客户相关的数据。但问题是,如果我从自动完成文本视图中删除了所选客户名称,它将显示与以前所选客户相关的数据。客户代码不会在第二次更改。但是,如果我选择不同的客户,它将根据该客户显示数据,即如果我选择不同的客户,新客户代码将更改为新客户代码。但问题是,如果我不选择客户,它将不会更改客户代码。如果用户不选择特定客户,系统应显示所有客户详细信息。但是它没有发生。
@Override
public void onClick(View view) {
    switch (view.getId()) {

    case R.id.btnList:
        callArchivement();
    }
}

private void callArchivement(){
    SelectDBAdapter selectDBAdapter = SelectDBAdapter.getDBAdapterInstance(CustomerActivity.this);
    try {
        selectDBAdapter.openDataBase();
        orderDetails = selectDBAdapter.getOrderDetails(selectedCusCode); 
    } catch (Exception e) {
        selectDBAdapter.close();
        e.printStackTrace();
    }finally{
        selectDBAdapter.close();
    }


    CustomerTable.removeAllViews();

    loadTableLayouts();    //details are displaying in a table 

}