我在Fragment SpeechToText中有一个edittext和一个按钮(Viewpager中的ID为2)。当我点击按钮时,它会将此edittext发送到片段MyListWord(Viewpager中的ID为0)(我使用界面)。 (这意味着将数据从选项卡3发送到Tablayout中的选项卡1)
我在Fragment MyListWord中有一个列表视图。我如何将此文本添加到此列表视图?
我的代码:
Fragment SpeechtoText:
private SendData mSendata;
public interface SendData {
public void SendDataMainActivity(String contentWord);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
this.mSendata = (SendData) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + e.toString());
}
}
onButtonclickListener:
String contentWord = edittext.getText();
mSendata.SendDataMainActivity(contentWord);
MainActivity实现SpeechToText.SendData
public void SendDataMainActivity(String contentWord)
{
FragmentManager manager = getSupportFragmentManager();
MyListWord myListWord = (MyListWord)manager.findFragmentByTag("android:switcher:" + pager.getId() + ":" + 0);
myListWord.Getdata(contentWord);
}
在Fragment MyListWord中:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my_list_word, container, false);
lv = (ListView) view.findViewById(R.id.lvMylistword);
ArrayList<String> Word = new ArrayList<String>();
adapter = new ArrayAdapter(
getActivity(),
android.R.layout.simple_list_item_1,
Word
);
lv.setAdapter(adapter);
return view;
}
public void Getdata(ContentWord contentWord)
{
if(contentWord.getWordContent().length()!=0)
{
////I want add this contentWord to listview .....
}
}
在Getdata函数中,我如何将这个单词添加到listview,我在Getdata中尝试过notifyDatasetChanged()但是没有用。
谢谢大家。
答案 0 :(得分:0)
对我的愚蠢问题:D
因为我将标签3中的数据发送到标签1,所以它出错。
我将Fragment MyListWord编辑为Tab 2,并将Fragment SpeechToText编辑为tab 3,它成功
这是我在Getdata中的代码
public void Getdata(ContentWord contentWord)
{
if(contentWord.getWordContent().length()!=0)
{
ArrayList<ContentWord> List_contentWords = new ArrayList<ContentWord>();
List_contentWords = adaptor.getListData();
List_contentWords.add(new ContentWord("ABCD","Noud",0));
adaptor.setListData(List_contentWords);
adaptor.notifyDataSetChanged();
}
}