如何从MainActivity.java更改fragment.xml的元素

时间:2016-10-01 23:35:48

标签: android android-fragments

我想从MainActivity更改片段的元素:

1268558100, 03/14/2010 01:15
1268558400, 03/14/2010 01:20
1268558700, 03/14/2010 01:25
1268559000, 03/14/2010 01:30
1268559300, 03/14/2010 01:35
1268559600, 03/14/2010 01:40
1268559900, 03/14/2010 01:45
1268560200, 03/14/2010 01:50
1268560500, 03/14/2010 01:55
1268560800, 03/14/2010 03:00
1268561100, 03/14/2010 03:05
1268561400, 03/14/2010 03:10
1268561700, 03/14/2010 03:15

我需要操作'来自MainActivity,但我不能,因为元素“list”位于片段container.xml中,不在activity_main.xml中。 我无法在activity_main.xml中移动'list',因为我需要加载到container.xml中。 我怎样才能以正确的方式从MainActivity打电话?

2 个答案:

答案 0 :(得分:0)

为什么需要对活动中的片段视图执行操作?

您可以在片段中完成所有这些操作。

  1. 将该片段添加到活动中。

  2. 在片段onCreateView方法中获取视图并执行任何操作。

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View inflatedView = inflater.inflate(R.layout.your_layout, container, false);
    ListView list = (ListView) inflatedView.findViewById(R.id.list);// => this is the error
    
    list.setOnItemClickListener(new Adapter.OnItemClickListener() {});
    
    return inflatedView;
    }
    

答案 1 :(得分:0)

虽然这是一个坏主意,但是你最好找到一个更好的解决方案来满足你的需求,答案是你可以让你的ListView里面的片段公共静态,然后对它执行你的操作,如:

YourFragment.list.setOnItemClickListener(new Adapter.OnItemClickListener()...