我的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上有很多印地文文本,这会非常繁琐。
如果有可能为列表中的项目设置搜索标签。.我不确定...
请帮助...
答案 0 :(得分:1)
我强烈建议您阅读这份文档https://developer.android.com/studio/write/translations-editor
仅为给您一个概述,您需要为应用中的每个String创建一个String资源。因此,将它们添加到您的Strings.xml
中。就像是
漫画
下一步是通过单击“打开编辑器”从strings.xml打开“翻译编辑器”。 单击全局按钮,然后从那里选择北印度文。在翻译字段中添加翻译。对所有字段执行相同的操作。现在,用英语进行所有搜索。将设备语言更改为印地语。运行该应用程序,您应该会看到该应用程序的翻译后的字符串。
希望这会有所帮助。