如何将 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 印地语。在翻译字段中添加翻译。对所有字段执行相同操作。现在用英语进行所有搜索。将您的设备语言更改为印地语。 运行 应用程序,您应该会看到为您的应用程序翻译的字符串。
希望对您有所帮助。
我的 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 印地语。在翻译字段中添加翻译。对所有字段执行相同操作。现在用英语进行所有搜索。将您的设备语言更改为印地语。 运行 应用程序,您应该会看到为您的应用程序翻译的字符串。
希望对您有所帮助。