使用ListView以编程方式将EditText添加到LinearLayout(android)

使用ListView以编程方式将EditText添加到LinearLayout(android),android,android-layout,listview,android-listview,android-search,Android,Android Layout,Listview,Android Listview,Android Search,我正在制作一个简单的android应用程序,我遇到了一个自己无法解决的问题。我彻底地寻找了一个解决办法,但我发现似乎没有任何办法奏效 在我的主要活动中,我有一个ListView,它存储用户提供的数据 我想在此ListView中添加一个搜索功能。当我静态地在xml中添加EditText并使用addTextChangeListener方法连接时,一切都正常。然而,这不是我想要实现的 我希望编辑文本出现在ListView上方的屏幕上,前提是用户单击我的应用程序中的特定按钮,该按钮是一个操作栏项目,然后

我正在制作一个简单的android应用程序,我遇到了一个自己无法解决的问题。我彻底地寻找了一个解决办法,但我发现似乎没有任何办法奏效

在我的主要活动中,我有一个ListView,它存储用户提供的数据

我想在此ListView中添加一个搜索功能。当我静态地在xml中添加EditText并使用addTextChangeListener方法连接时,一切都正常。然而,这不是我想要实现的

我希望编辑文本出现在ListView上方的屏幕上,前提是用户单击我的应用程序中的特定按钮,该按钮是一个操作栏项目,然后将其与ListView中的搜索功能连接。我试过这个:

LinearLayout mainLayout;
EditText inputSearch;

@Override
protected void onCreate(Bundle savedInstance){

    (...)

    mainLayout = (LinearLayout)findViewById(R.layout.activity_main);

    inputSearch = new EditText(this);

    inputSearch.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

    inputSearch.setText("Search...");

    (...)

}

@Override
public boolean onOptionsItemSelected(MenuItem item){

    (...)

    case R.id.action_search:

    mainLayout.addView(inputSearch);

    (...)
}

你知道我做错了什么吗?

不要重新创建已经为你制作的东西。使用可通过ActionBar访问的或。另外,请尽量让您的问题更具体一些好的,谢谢,我将尝试使用搜索小部件: