android listView@android:ID/list的内置ID,造成歧义
我有两个用于平板电脑应用程序android布局的片段,它们都有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);
Listview
。我正在为它们使用内置idandroid: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,如果不清楚,请添加一些代码以澄清您的问题