2014-10-11 25 views
0

我正在開發一個Android應用程序。在我的應用程序中有一個活動,它有一個ListViewListView元素動態更改(以編程方式)。但是當我添加一個新的元素,listview卷軸和我不想要它。我想添加元素到列表視圖和用戶看到新的元素,當用戶與它交互,而不是自動。我在列表視圖適配器上調用notifyDataSetChanged()添加項目到textview和滾動條保持一致

我有一個例子來清除我的意思是:

ListView contains = **{ 1 , 2 , 3 , 4 , 5} 

但是屏幕尺寸只是讓他們的3。假設現在{3, 4, 5}在屏幕上。現在

,我們添加'6'元素和ListView自動滾動到頂部和屏幕顯示{4 , 5 , 6}

我想,當我加入'6'元素,列表視圖不滾動,並顯示了同樣的事情(要一致),如果用戶與listview進行交互並滾動,他會看到'6'元素。

回答

0

更新列表

0

我是新到Android太后只要打電話listView.setSelectionAfterHeaderView();。 我嘗試添加元素的ListView上按一下按鈕,我沒有遇到這些問題....

<RelativeLayout 
...> 
<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="133dp"> 
</ListView> 
<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="55dp" 
    android:text="Button" /> 

public class MainActivity extends Activity { 
    ListView lv; 
    Button btn; 
    int counter = 0; 
    ArrayAdapter<String> adapter; 
    ArrayList<String> array = new ArrayList<String>(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     lv = (ListView) findViewById(R.id.listView1); 
     btn = (Button) findViewById(R.id.button1); 
     adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array); 
     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       String s = "Clicked "+ ++counter; 
       array.add(s); 
       adapter.notifyDataSetChanged(); 
      } 
     }); 
     lv.setAdapter(adapter); 
    } 
} 

它不會自動滾動至底部。
但是,如果你添加

android:stackFromBottom="true" 
android:transcriptMode="alwaysScroll" 

到ListView XML然後將其自動滾動至底部,當你添加新的元素列表視圖。

我希望它有幫助。

相關問題