AutoCompleteField 文字输入自动完成
2010-09-16 08:57
423 查看
BlackBerry SDK 5.0提供输入过滤,输入自动完成的功能。
BasicFilteredList - 创建过滤列表
AutoCompleteField - 创建输入自动完成Field
// 首先创建过滤列表
BasicFilteredList filterList = new BasicFilteredList();
// 自动完成内容
String[] days = {"Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday","Sunday"};
// 设置过滤内容
int uniqueID = 0;
filterList.addDataSet(uniqueID,days,"days",BasicFilteredList.COMPARISON_IGNORE_CASE);
// 创建输入自动完成功能, 设置自动完成标准
AutoCompleteField autoCompleteField = new AutoCompleteField(filterList);
add(autoCompleteField);
以下是输入自动完成在9700上的截图:
源代码如下:
/*
* AutoCompleteFieldDemo.java
*
* Copyright �1998-2010 Research In Motion Ltd.
*
* Note: For the sake of simplicity, this sample application may not leverage
* resource bundles and resource strings. However, it is STRONGLY recommended
* that application developers make use of the localization features available
* within the BlackBerry development platform to ensure a seamless application
* experience across a variety of languages and geographies. For more information
* on localizing your application, please refer to the BlackBerry Java Development
* Environment Development Guide associated with this release.
*/
package com.rim.samples.device.ui.autocompletefielddemo;
import javax.microedition.pim.*;
import net.rim.device.api.collection.util.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.component.*;
/**
* Sample application to demonstrate the AutoCompleteField and BasicFilteredList classes
*/
public class AutoCompleteFieldDemo extends UiApplication
{
/**
* Entry point for application
* @param args Command line arguments (not used)
*/
public static void main(String[] args)
{
// Create a new instance of the application and make the currently
// running thread the application's event dispatch thread.
AutoCompleteFieldDemo app = new AutoCompleteFieldDemo();
app.enterEventDispatcher();
}
/**
* Creates a new AutoCompleteFieldDemo object
*/
public AutoCompleteFieldDemo()
{
pushScreen(new AutoCompleteFieldDemoScreen());
}
/**
* MainScreen class for the AutoCompleteFieldDemo application
*/
static final class AutoCompleteFieldDemoScreen extends MainScreen
{
private BasicFilteredList _filteredListContacts;
/**
* Creates a new AutoCompleteFieldDemoScreen object
*/
AutoCompleteFieldDemoScreen()
{
setTitle("Auto Complete Field Demo");
add(new LabelField("Type in a field to search"));
add(new SeparatorField());
// Create the filtered lists
_filteredListContacts = new BasicFilteredList();
BasicFilteredList filteredListMedia = new BasicFilteredList();
BasicFilteredList filteredListMonths = new BasicFilteredList();
// Add data source for contacts
_filteredListContacts.addDataSource(0, BasicFilteredList.DATA_SOURCE_CONTACTS,
BasicFilteredList.DATA_FIELD_CONTACTS_NAME_FULL | BasicFilteredList.DATA_FIELD_CONTACTS_COMPANY | BasicFilteredList.DATA_FIELD_CONTACTS_EMAIL,
BasicFilteredList.DATA_FIELD_CONTACTS_NAME_FULL,
BasicFilteredList.DATA_FIELD_CONTACTS_EMAIL,
-1,
null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data source for music
filteredListMedia.addDataSource(0, BasicFilteredList.DATA_SOURCE_MUSIC,
BasicFilteredList.DATA_FIELD_MUSIC_SONG,
BasicFilteredList.DATA_FIELD_MUSIC_ARTIST | BasicFilteredList.DATA_FIELD_MUSIC_ALBUM | BasicFilteredList.DATA_FIELD_MUSIC_SONG,
BasicFilteredList.DATA_FIELD_MUSIC_SONG,
-1, null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data source for pictures
filteredListMedia.addDataSource(0, BasicFilteredList.DATA_SOURCE_PICTURES,
BasicFilteredList.DATA_FIELD_PICTURES_TITLE,
BasicFilteredList.DATA_FIELD_PICTURES_TITLE,
-1, -1, null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data source for videos
filteredListMedia.addDataSource(0, BasicFilteredList.DATA_SOURCE_VIDEOS,
BasicFilteredList.DATA_FIELD_VIDEOS_TITLE,
BasicFilteredList.DATA_FIELD_VIDEOS_TITLE,
-1, -1, null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data set for months
String[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
filteredListMonths.addDataSet(0, months, "Month", BasicFilteredList.COMPARISON_IGNORE_CASE);
// Create AutoCompleteFields
AutoCompleteField autoCompleteFieldContacts = new AutoCompleteField(_filteredListContacts, AutoCompleteField.LIST_STATIC | AutoCompleteField.LIST_DROPDOWN);
AutoCompleteField autoCompleteFieldMedia = new AutoCompleteField(filteredListMedia, AutoCompleteField.LIST_STATIC | AutoCompleteField.LIST_SHOW_DATA_SET_NAME | AutoCompleteField.LIST_DROPDOWN);
AutoCompleteField autoCompleteFieldMonths = new AutoCompleteField(filteredListMonths, AutoCompleteField.LIST_STATIC | AutoCompleteField.LIST_DROPDOWN);
// Add the AutoCompleteFields to the screen
add(new LabelField("Choose a contact"));
add(autoCompleteFieldContacts);
add(new LabelField("Choose media"));
add(autoCompleteFieldMedia);
add(new LabelField("Choose a month"));
add(autoCompleteFieldMonths);
}
/**
* @see MainScreen#onSavePrompt()
*/
protected boolean onSavePrompt()
{
// Suppress the save dialog
return true;
}
}
}
BasicFilteredList - 创建过滤列表
AutoCompleteField - 创建输入自动完成Field
// 首先创建过滤列表
BasicFilteredList filterList = new BasicFilteredList();
// 自动完成内容
String[] days = {"Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday","Sunday"};
// 设置过滤内容
int uniqueID = 0;
filterList.addDataSet(uniqueID,days,"days",BasicFilteredList.COMPARISON_IGNORE_CASE);
// 创建输入自动完成功能, 设置自动完成标准
AutoCompleteField autoCompleteField = new AutoCompleteField(filterList);
add(autoCompleteField);
以下是输入自动完成在9700上的截图:
源代码如下:
/*
* AutoCompleteFieldDemo.java
*
* Copyright �1998-2010 Research In Motion Ltd.
*
* Note: For the sake of simplicity, this sample application may not leverage
* resource bundles and resource strings. However, it is STRONGLY recommended
* that application developers make use of the localization features available
* within the BlackBerry development platform to ensure a seamless application
* experience across a variety of languages and geographies. For more information
* on localizing your application, please refer to the BlackBerry Java Development
* Environment Development Guide associated with this release.
*/
package com.rim.samples.device.ui.autocompletefielddemo;
import javax.microedition.pim.*;
import net.rim.device.api.collection.util.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.component.*;
/**
* Sample application to demonstrate the AutoCompleteField and BasicFilteredList classes
*/
public class AutoCompleteFieldDemo extends UiApplication
{
/**
* Entry point for application
* @param args Command line arguments (not used)
*/
public static void main(String[] args)
{
// Create a new instance of the application and make the currently
// running thread the application's event dispatch thread.
AutoCompleteFieldDemo app = new AutoCompleteFieldDemo();
app.enterEventDispatcher();
}
/**
* Creates a new AutoCompleteFieldDemo object
*/
public AutoCompleteFieldDemo()
{
pushScreen(new AutoCompleteFieldDemoScreen());
}
/**
* MainScreen class for the AutoCompleteFieldDemo application
*/
static final class AutoCompleteFieldDemoScreen extends MainScreen
{
private BasicFilteredList _filteredListContacts;
/**
* Creates a new AutoCompleteFieldDemoScreen object
*/
AutoCompleteFieldDemoScreen()
{
setTitle("Auto Complete Field Demo");
add(new LabelField("Type in a field to search"));
add(new SeparatorField());
// Create the filtered lists
_filteredListContacts = new BasicFilteredList();
BasicFilteredList filteredListMedia = new BasicFilteredList();
BasicFilteredList filteredListMonths = new BasicFilteredList();
// Add data source for contacts
_filteredListContacts.addDataSource(0, BasicFilteredList.DATA_SOURCE_CONTACTS,
BasicFilteredList.DATA_FIELD_CONTACTS_NAME_FULL | BasicFilteredList.DATA_FIELD_CONTACTS_COMPANY | BasicFilteredList.DATA_FIELD_CONTACTS_EMAIL,
BasicFilteredList.DATA_FIELD_CONTACTS_NAME_FULL,
BasicFilteredList.DATA_FIELD_CONTACTS_EMAIL,
-1,
null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data source for music
filteredListMedia.addDataSource(0, BasicFilteredList.DATA_SOURCE_MUSIC,
BasicFilteredList.DATA_FIELD_MUSIC_SONG,
BasicFilteredList.DATA_FIELD_MUSIC_ARTIST | BasicFilteredList.DATA_FIELD_MUSIC_ALBUM | BasicFilteredList.DATA_FIELD_MUSIC_SONG,
BasicFilteredList.DATA_FIELD_MUSIC_SONG,
-1, null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data source for pictures
filteredListMedia.addDataSource(0, BasicFilteredList.DATA_SOURCE_PICTURES,
BasicFilteredList.DATA_FIELD_PICTURES_TITLE,
BasicFilteredList.DATA_FIELD_PICTURES_TITLE,
-1, -1, null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data source for videos
filteredListMedia.addDataSource(0, BasicFilteredList.DATA_SOURCE_VIDEOS,
BasicFilteredList.DATA_FIELD_VIDEOS_TITLE,
BasicFilteredList.DATA_FIELD_VIDEOS_TITLE,
-1, -1, null,
BasicFilteredList.COMPARISON_IGNORE_CASE);
// Add data set for months
String[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
filteredListMonths.addDataSet(0, months, "Month", BasicFilteredList.COMPARISON_IGNORE_CASE);
// Create AutoCompleteFields
AutoCompleteField autoCompleteFieldContacts = new AutoCompleteField(_filteredListContacts, AutoCompleteField.LIST_STATIC | AutoCompleteField.LIST_DROPDOWN);
AutoCompleteField autoCompleteFieldMedia = new AutoCompleteField(filteredListMedia, AutoCompleteField.LIST_STATIC | AutoCompleteField.LIST_SHOW_DATA_SET_NAME | AutoCompleteField.LIST_DROPDOWN);
AutoCompleteField autoCompleteFieldMonths = new AutoCompleteField(filteredListMonths, AutoCompleteField.LIST_STATIC | AutoCompleteField.LIST_DROPDOWN);
// Add the AutoCompleteFields to the screen
add(new LabelField("Choose a contact"));
add(autoCompleteFieldContacts);
add(new LabelField("Choose media"));
add(autoCompleteFieldMedia);
add(new LabelField("Choose a month"));
add(autoCompleteFieldMonths);
}
/**
* @see MainScreen#onSavePrompt()
*/
protected boolean onSavePrompt()
{
// Suppress the save dialog
return true;
}
}
}
相关文章推荐
- Android-自动完成文字输入
- [Android] AutoCompleteTextView:自动完成输入内容的控件(自动补全)
- Android组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )
- Android 组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )
- 输入内容自动完成文本框(AutoCompleteTextView)
- 使用 jquery-autocomplete插件 完成文本框输入自动填充联想效果 解决兼容IE输入中文问题
- JQuery--使用autocomplete控件进行自动输入完成(相当于模糊查询)
- 调用百度请求 边输入边提示 jQuery UI 自动完成(Autocomplete)支持中文 超简单
- 输入内容自动完成文本框(AutoCompleteTextView )
- PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
- 输入内容自动完成文本框(AutoCompleteTextView )
- Ajax自动完成(autocomplete)-响应文本框输入后显示模糊数据列表
- 自动完成autoComplete,自动补全插件,输入提示
- Ajax:AutoCompleteExtender自动输入完成(转载)
- [Android] AutoCompleteTextView:自动完成输入内容的控件
- 自动输入完成扩展器[AutoCompleteExtender]
- Jquery UI简单应用——自动完成(Autocomplete)实现类似百度输入提醒效果
- Android组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )
- jquery.ui.autocomplete输入中文不自动完成的解决
- PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能