J'ai une activité avec la disposition suivante.
Donc, dans cet écran, initialement ListView
est vide. Je tape du texte EditText
et cliquez sur l'icône de recherche à côté, l'application récupère les éléments du serveur et remplit le ListView
. Maintenant, le problème est que le ListView
défile jusqu'au dernier élément.
Code dans mon onClick()
de recherche Button
String str_searchTxt = mEt_search.getText().toString().trim();
if (str_searchTxt.length() == 0) {
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.ENTER_MANDATORY),
Toast.LENGTH_LONG).show();
return;
}
// get items List in araryList
itemList = getItemList(messageHandler,str_searchTxt);
Code dans mon gestionnaire de messages:
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 2:
String txt = msg.getData().getString("text");
Log.i("Result", txt);
progressDialog.dismiss();
if (txt.equalsIgnoreCase("success")) {
lview3 = (ListView) findViewById(R.id.listView1);
adapter = new ListViewCustomAdapter(
SearchAssetActivity.this, itemList);
lview3.setAdapter(adapter);
lview3.setOnItemClickListener(SearchAssetActivity.this);
lview3.requestFocus();
lview3.setSelection(0);
}
}
Réponses:
3 pour la réponse № 1Vous pouvez utiliser setSelection (position) de ListView,
mListView.setSelection(first_position);
Sinon, vous pouvez essayer,
mListView.setSelectionAfterHeaderView();
0 pour la réponse № 2
Essaye ça:
yourscrollview.fullScroll(ScrollView.FOCUS_UP);