Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我需要在单击“编辑文本”时添加一个带有相对按钮的编辑文本字段+&引用;按钮_Android_Layout_Button_Onclick_Layout Inflater - Fatal编程技术网

Android 我需要在单击“编辑文本”时添加一个带有相对按钮的编辑文本字段+&引用;按钮

Android 我需要在单击“编辑文本”时添加一个带有相对按钮的编辑文本字段+&引用;按钮,android,layout,button,onclick,layout-inflater,Android,Layout,Button,Onclick,Layout Inflater,我的问题的标题可能不太清楚。 我正在为一个大学项目开发我的第一个Android应用程序。我现在需要的是允许我的用户输入一种“配料”,以便在数据库中查找食谱。这很容易 我可能读过这个网站上所有类似的帖子,但我无法解决我的问题:现在我想给用户指定多个成分的可能性,这样在我的first EditText字段下面应该有一个“+”按钮,允许在第一个和按钮本身之间添加新的EditText字段。 与EditText字段一起,我需要一个“-”按钮,单击该按钮时,“隐藏”相对输入字段 我希望描述清楚 我现在拥有的

我的问题的标题可能不太清楚。 我正在为一个大学项目开发我的第一个Android应用程序。我现在需要的是允许我的用户输入一种“配料”,以便在数据库中查找食谱。这很容易

我可能读过这个网站上所有类似的帖子,但我无法解决我的问题:现在我想给用户指定多个成分的可能性,这样在我的first EditText字段下面应该有一个“+”按钮,允许在第一个和按钮本身之间添加新的EditText字段。 与EditText字段一起,我需要一个“-”按钮,单击该按钮时,“隐藏”相对输入字段

我希望描述清楚

我现在拥有的是我的主XML布局和第二个,带有edittext和“-”按钮…但我不知道如何在主布局中按下/充气/显示此布局

你能帮帮我吗? 这是我想要推动的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_below="@+id/ingredient"
    android:layout_height ="wrap_content"
     android:layout_width="fill_parent"
     android:visibility="gone"
     android:id="@+id/newLine1">

 <EditText 
    android:id="@+id/ingredient"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:inputType="text"
    android:hint="@string/hint_ingredient" />
<Button 
    android:id="@+id/remove"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:text="@string/remove"
    android:layout_toRightOf="@+id/ingredient"
        android:onClick="removeLine"
    />

     </RelativeLayout>

还有其他方法吗?

在“+”按钮的onClickListener中,您需要使用LayoutFlater将配料布局充气到视图中。然后使用findViewById()获取对您的配料相对论视图的引用,并将新视图添加到其中

确保为膨胀的新视图指定LayoutParams

您可能需要将成分更改为线性布局。向其中添加视图比向RelativeLayout中添加视图更容易,因为您只需将视图添加到LinearLayout中,而不必担心它们的相对位置


祝你好运。

在“+”按钮的onClickListener中,写下如下内容:

int et_counter=1;
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);

EditText et = new EditText(RecipeActivity.this);
//assign them an ID with an int counter
//use this counter later to refer to the EditText
//to retrieve the values
et.setId(et_counter);

ll.addView(et);
for (n = 1; n <= et_counter; n++){
    et = (EditText) findViewById(n);
    String ingridient=et.getText().toString();
    //use the text somewhere
}
您可以检索如下值:

int et_counter=1;
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);

EditText et = new EditText(RecipeActivity.this);
//assign them an ID with an int counter
//use this counter later to refer to the EditText
//to retrieve the values
et.setId(et_counter);

ll.addView(et);
for (n = 1; n <= et_counter; n++){
    et = (EditText) findViewById(n);
    String ingridient=et.getText().toString();
    //use the text somewhere
}

for(n=1;n我还有另一个问题。充气工作非常完美,我可以动态添加我想要的内容。现在,正如我在第一篇文章中所述,我需要在每个充气的edittext字段旁边连接“-”按钮。我该怎么做?我找不到类似的问题……首先,您需要给每个充气视图一个id(setId()),这样您就可以检索并重新浏览它。将每个带有移除id的按钮的标记设置为膨胀视图的id。然后每次需要为带有移除id的按钮设置onclicklistner。在onclick方法中,检查视图是否已移除id,如果是,则获取标记并使用它移除视图。祝您好运。