片段容器

时间:2015-05-05 21:56:55

标签: android android-fragments android-listfragment

我有一个Activity的应用,其中包含ListFragmentEditTextButton。当用户按下Button时,我想将EditText中的文字添加到ListFragment。我知道这样做,我将不得不调用Fragment的适配器的notifyDataSetChanged()方法,但我现在不知道如何做到这一点。我也不知道如何调用适配器的add方法,但我觉得如果我弄清楚如何做一个,我就能弄清楚如何做另一个。

任何帮助都会很棒。

编辑:进一步澄清:

因此托管Activity(ThreadContainer.java)会扩展其布局,其中包含ListFragment,如下所示:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_thread_container);
        ...

这是activity_thread_container.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context="com.claymon.android.cryptosms.ThreadContainer">

<fragment
    android:id="@+id/thread_container"
    android:name="com.claymon.android.cryptosms.MessageFragment"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_above="@+id/newMessageText"/>

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/newMessageText"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:inputType="text|textMultiLine"
    android:focusable="true"
    android:maxLines="4"
    android:maxLength="2000"
    android:scrollHorizontally="false"
    android:stackFromBottom="true"
    android:transcriptMode="alwaysScroll"
    android:layout_toLeftOf="@+id/sendButton"
    android:layout_toStartOf="@+id/sendButton"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/send"
    android:id="@+id/sendButton"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"/>

然后,扩展MessageFragment的{​​{1}}只会使用相当简单的自定义ListFragment显示一些预定数据。这里的代码或多或少无关紧要。我想要做的是从ThreadContainer.java中调用我的自定义ArrayAdapter方法。基本上,我需要弄清楚如何访问我在扩充布局时创建的片段。

抱歉这个糟糕的初步问题。

1 个答案:

答案 0 :(得分:1)

  

我想要做的是从ThreadContainer.java中调用我自定义的ArrayAdapter方法。基本上,我需要弄清楚如何访问我在扩充布局时创建的片段

当您向Fragment添加Tag时,Tag FragmentMananger.findFragmentByTag("")会通过Frament Fragment返回class EventsController < ApplicationController autocomplete :contact, name, full: true ... def get_autocomplete_items(parameters) super(parameters).joins(:city).where(["cities.name = ?", params[:city]]) end end ,然后您投出<%= autocomplete_field_tag :contact_name, '', autocomplete_contact_name_events_path(:city => @event.city.name) %> 1}}到你喜欢的课程并调用你的方法