android - 如何使用操作栏按钮动态添加到 ListView

标签 android listview

我想在 Android 中向我的 ListView 动态添加项目。但是,我希望在用户按下操作栏按钮时完成此操作。根据我的发现,要做到这一点,需要扩展 Android 不支持的 ListActivityActionBarActivity。否则我该怎么做。这是我的 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/

相关文章:

android - 如何获取gridview(或RecyclerGridview)的选定项目的所有最近位置

Android:如何知道运行我的 Android 应用程序所需的最低 API 是什么?

java - 如何从 ListView 启动一个 Activity

listview - 如何在标签中重用Listview?

android - 重写 Android ArrayAdapter

android - 自定义列表光标适配器在模拟器上的 bindView 崩溃——而不是在手机上

android - 弹出窗口内的微调器无法打开

android - Eclipse能否为Android项目自动生成不同的DPI图片?

android - SharedPreferences 重启后不保存所有数据

android - 如何在android中使用baseadapter刷新自定义 ListView