如何将 SearchView 用于印地语 ListView

How to use SearchView for a Hindi ListView

我的 ListView 中有一个 SearchView 是印地语。当我使用搜索输入印地语时,它会很好地过滤列表..

我想在用户用英文搜索时获得过滤列表

例如,如果用户搜索 "Mangal",它应该过滤包含 मंगल

的列表

下面是我的MainActivityClass

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 上有很多印地语文本..

此外,如果可以为列表中的项目设置搜索标签...我不确定...

请帮忙...

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

为了给您一个概览,您需要为应用中的每个字符串创建一个字符串资源。所以将它们添加到您的 Strings.xml。就像是 曼加尔

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

希望对您有所帮助。