android listView@android:ID/list的内置ID,造成歧义

android listView@android:ID/list的内置ID,造成歧义,android,listview,fragment,Android,Listview,Fragment,我有两个用于平板电脑应用程序android布局的片段,它们都有Listview。我正在为它们使用内置idandroid:id=“@android:id/list”。现在,当我试图在我的activity java文件中引用它们时,我不知道该怎么做 要点:我在活动中引用了这些参考资料 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我有两个用于平板电脑应用程序android布局的片段,它们都有
Listview
。我正在为它们使用内置id
android:id=“@android:id/list”
。现在,当我试图在我的activity java文件中引用它们时,我不知道该怎么做



要点:我在活动中引用了这些参考资料

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_notifications);  
    notificationListView2=(ListView)findViewById(android.R.id.list);    //from first fragment
    notificationListView=(ListView)findViewById(android.R.id.list);//from second fragment



要点:我在我的活动中引用了这些引用

在您添加的每个片段中将调用
onCreateView
方法,在给定的方法中,您可以引用片段中的任何对象,也就是当您需要存储对
列表视图
项的引用时

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_notifications);  
    notificationListView2=(ListView)findViewById(android.R.id.list);    //from first fragment
    notificationListView=(ListView)findViewById(android.R.id.list);//from second fragment
如果您需要从活动中访问
列表视图
项,请创建方法来检索您在
onCreateView
方法中分配的变量

因此,在每个片段中,您将能够执行以下操作:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    Log.i("Right", "onCreateView()");
    View v = inflater.inflate(R.layout.right, container, false);
    ListView lv_fragmentXXX = (ListView) view.findViewById(android.R.id.list); //Where xxx is an identifier for each listview in each fragment
}

对于
片段
,onCreateView是将对布局进行膨胀的方法。 此充气器返回一个
视图
对象,因此在此视图对象上调用
findviewbyd(android.R.id.list)

例如


这将确保访问正确的listview。

我在活动中引用了这些引用,然后在片段中创建一个方法,从每个片段中检索每个listview,如果不清楚,请添加一些代码以澄清您的问题