如何将SearchView用于印地语ListView

时间:2018-08-03 01:56:06

标签: android listview searchview hindi

我的SearchView中有一个ListView,它是北印度语。.当我使用印地语印地语时,它可以很好地过滤列表。

当用户用英语搜索时,我想获得过滤列表

例如,如果用户搜索“ Mangal” ,则应过滤包含मंगल

的列表

以下是我的MainActivity类

public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {

// Declare Variables
ListView list;
ListViewAdapter adapter;
SearchView editsearch;
String[] NameList;
ArrayList<Names> arraylist = new ArrayList<Names>();

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

    // Generate sample data

    NameList = new String[]{"मंगल स्तुति", "भिक्षु स्तुति", "कालू स्तुति",
            "तुलसी स्तुति", "महाप्रज्ञ अभिवंदना", "शासन स्तुति", "तपस्या गीत"};

    // Locate the ListView in listview_main.xml
    list = (ListView) findViewById(R.id.listview);

    for (int i = 0; i < NameList.length; i++) {
        Names Names = new Names(NameList[i]);
        // Binds all strings into an array
        arraylist.add(Names);
    }

    // Pass results to ListViewAdapter Class
    adapter = new ListViewAdapter(this, arraylist);

    // Binds the Adapter to the ListView
    list.setAdapter(adapter);

    // Locate the EditText in listview_main.xml
    editsearch = (SearchView) findViewById(R.id.search);
    editsearch.setOnQueryTextListener(this);
}


@Override
public boolean onQueryTextSubmit(String query) {

    return false;
}

@Override
public boolean onQueryTextChange(String newText) {
    String text = newText;
    adapter.filter(text);
    return false;
}
}

我想到了使用getQuery来获取搜索到的文本,然后比较那些英语版本,但是由于我的ListView上有很多印地文文本,这会非常繁琐。

如果有可能为列表中的项目设置搜索标签。.我不确定...

请帮助...

1 个答案:

答案 0 :(得分:1)

我强烈建议您阅读这份文档https://developer.android.com/studio/write/translations-editor

仅为给您一个概述,您需要为应用中的每个String创建一个String资源。因此,将它们添加到您的Strings.xml中。就像是     漫画

下一步是通过单击“打开编辑器”从strings.xml打开“翻译编辑器”。 单击全局按钮,然后从那里选择北印度文。在翻译字段中添加翻译。对所有字段执行相同的操作。现在,用英语进行所有搜索。将设备语言更改为印地语。运行该应用程序,您应该会看到该应用程序的翻译后的字符串。

希望这会有所帮助。