我想在 Android 中向我的 ListView
动态添加项目。但是,我希望在用户按下操作栏按钮时完成此操作。根据我的发现,要做到这一点,需要扩展 Android 不支持的 ListActivity
和 ActionBarActivity
。否则我该怎么做。这是我的 MainActivity
代码(现在只扩展了 ActionBarActivity
):
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
public class MainActivity extends ActionBarActivity {
/** Items entered by the user is stored in this ArrayList variable */
ArrayList<String> list = new ArrayList<String>();
/** Declaring an ArrayAdapter to set items to ListView */
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list);
setListAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_new:
addListElement();
return true;
case R.id.action_settings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void addListElement() {
// TODO Auto-generated method stub
}
}
最佳答案
在您的 activity_main.xml
中添加一个 ListView ..然后像下面这样使用...
ListView lv = (ListView) findViewById(R.id.listViewId);
lv.setAdapter(adapter);
删除 setListAdapter(adapter);
private void addListElement(String value) {
list.add(value);
adapter.notifyDataSetChanged();
}
或
private void addListElement(String value) {
adapter.add(value);
}
关于android - 如何使用操作栏按钮动态添加到 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25096055/