我有一个布局文件,我在其中定义了ListView
和另一个布局文件,其中我已经定义了单个列表元素的样式。 OnClick
如何使用其他布局填充ListView
?或者甚至可以这样做?
这是我的ListView
<ListView
android:id="@+id/chat_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="80dp"
>
</ListView>
<RelativeLayout
android:id="@+id/form"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:orientation="vertical">
</RelativeLayout>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/chat"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/send_button"/>
<Button
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/icons_chat"
android:height="20dp"
android:width="20dp"
android:id="@+id/send_button"
android:onClick="sendChat"
android:layout_alignBottom="@+id/chat"
android:layout_alignParentRight="true"
/>
这是我的其他布局
<EditText
android:id="@+id/user_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/chat_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
OnClick
我希望getText
来自第一个布局中的EditText
,并使用第二个布局中的样式更新ListView
。我怎么能这样做?
答案 0 :(得分:0)
我认为,实现此目的的一种方法是使用ArrayAdapter
,这会使您的Collection
(您想要使用的)适应您的布局ListView
中的项目。例如
public class YourActivity extends Activity {
private ListView listView;
public void onCreate(Bundle saveInstanceState) {
setContentView(R.layout.your_layout);
listView= (ListView) findViewById(R.id.you_list_id);
//Here you can set values from your edit texts
ArrayList<String> yourArrayList = new ArrayList<>();
yourArrayList.add("someTextFromYourEditTexts");
yourArrayList.add("someTextFromYourEditTexts");
//Create your ArrayAdapter with your already populate array list
ArrayAdapter<String> yourArrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
yourArrayList );
//And when your adapter is create set it to your list view
listView.setAdapter(yourArrayAdapter);
}
}