Я пытаюсь реализовать функцию автоматического предложения, подобную функциональности, для части моего приложения.Как часть этого, когда пользователь вводит текстовое поле, я пингую веб-службу для результатов, анализирую xml и обновляю представление списка со списком возвращаемых результатов.программа.Мой вопрос заключается в том, правильно ли я остановлю нить.Достаточно ли вызова thread.interrupt ()?
init() {
// <snip>
searchTxt.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
FetchResults();
}});
}
private void FetchResults()
{
if(mCurrentNetworkThread != null)
{
mCurrentNetworkThread.interrupt();
mCurrentNetworkThread = null;
}
mCurrentNetworkThread = new Thread(
new Runnable() {
public void run() {
List<NameValuePair> paramTable = new ArrayList<NameValuePair>(1);
paramTable.add(new BasicNameValuePair("searchText", searchTxt.getText().toString()));
String methodName = "GetSearchResults";
NetworkAccessClass nac = new NetworkAccessClass(paramTable, IP_ADDR, methodName, 0, this);
nac.startRequest();
}
});
mCurrentNetworkThread.start();
}
@Override
public void requestSucceeded(String responseMessage, int callID) {
parseResponseFromNetwork(responseMessage);
}
@Override
public void requestFailed(String responseCode, int callID) {
}