- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我尝试将自定义 XML 模板加载到我的 Fragment 中的 RelativeLayout 中,但 XML Views 返回 null。
我觉得这里缺少一个负责加载“description_fragment.xml”的类。如果那是真的,我应该从哪里开始?
这是我要加载布局的主要 fragment (创建此 fragment 后调用函数 loadDescription()):
public class ItemListFragment extends Fragment{
RelativeLayout relativeDescription;
item mItemDesc = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
//The whole fragment
RelativeLayout liste_item = (RelativeLayout)inflater.inflate(R.layout.fragment_liste_item,container,false);
//The item description fragment
relativeDescription = (RelativeLayout) inflater.inflate(R.layout.description_item,container, false);
return liste_item;
}
public void loadDescription(int itemSelectonne) {
//Http Request
ItemClient client = ServiceGenerator.retrofit.create(ItemClient.class);
Call<item> list = client.getDescriptionItem(Authentification.getXauth(), itemSelectonne);
//Async Task
list.enqueue(new Callback<item>() {
@Override
public void onResponse(Call<item> call, Response<item> response) {
if(response.isSuccessful())
{
//Set response from request into (item) variable
mItemDesc = response.body();
//new var (data) used in case of Desync
item data = mItemDesc;
//Obtaining the RelativeView from the fragment_list_item.xml file
relativeDescription = getActivity().findViewById(R.id.rl_Description);
//Obtainaing all the Views inside description_item.xml
TextView NomItem = getActivity().findViewById(R.id.tv_NomItem); //This returns null
NomItem.setText(data.getNom());
TextView DescriptionItem = getActivity().findViewById(R.id.tv_DescriptionItem);
DescriptionItem.setText(data.getDescription());
TextView PrixItem = getActivity().findViewById(R.id.tv_PrixItem);
PrixItem.setText(data.getPrix());
TextView TypeItem = getActivity().findViewById(R.id.tv_TypeItem);
TypeItem.setText(data.getTypeItem());
TextView NomMenu = getActivity().findViewById(R.id.tv_NomMenu);
NomMenu.setText(data.getMenu().getNom());
TextView TypeMenu = getActivity().findViewById(R.id.tv_TypeMenu);
TypeMenu.setText(data.getMenu().getType());
}
else { /*HTTP Errors*/ }
}
}
@Override
public void onFailure(Call<item> call, Throwable t) { /*Message*/ }
});
}
}
fragment 列表项目.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".UI.ItemListFragment">
<RelativeLayout
android:id="@+id/rl_Description"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
描述_ fragment .xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl_Description"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/border">
<TextView
android:id="@+id/Label_Nom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:text="Nom de l'item:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_NomItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Label_Nom"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="5dp"
tools:text="Burger" />
<TextView
android:id="@+id/Label_Description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_NomItem"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:text="Description de l'item:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_DescriptionItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Label_Description"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="5dp"
tools:text="Allo le burger yer vrm bon: ceci est un exemple fyi" />
<TextView
android:id="@+id/Label_Prix"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_DescriptionItem"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:text="Prix:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_PrixItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_DescriptionItem"
android:layout_marginStart="5dp"
android:layout_marginTop="12dp"
android:layout_toEndOf="@+id/Label_Prix"
tools:text="20$" />
<TextView
android:id="@+id/Label_Type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_DescriptionItem"
android:layout_marginStart="24dp"
android:layout_marginTop="12dp"
android:layout_toEndOf="@+id/tv_PrixItem"
android:text="Type d'item:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_TypeItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_DescriptionItem"
android:layout_marginStart="5dp"
android:layout_marginTop="12dp"
android:layout_toEndOf="@+id/Label_Type"
tools:text="Le type de l'item ici" />
<TextView
android:id="@+id/Label_Menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_TypeItem"
android:layout_alignStart="@+id/Label_Nom"
android:layout_marginTop="48dp"
android:text="Menu que l'item fait partie:"
android:textColor="@color/black" />
<TextView
android:id="@+id/Label_MenuNom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Label_Menu"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:text="Nom du Menu:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_NomMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Label_MenuNom"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="5dp"
tools:text="Nom du menu ici" />
<TextView
android:id="@+id/Label_TypeMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_NomMenu"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:text="Type de menu:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_TypeMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Label_TypeMenu"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
tools:text="Type du menu ici" />
最佳答案
您正在尝试通过 Activity 查找 View ,但您的 Activity 不知道 fragment xml 及其 View 。
您应该执行 view.findViewById(id)
,其中 view
是在 onCreateView
中创建的 fragment View 。
例如,您可以在 onCreateView
中定义所有 View 并将其保存到变量中,然后您可以在 loadDescription
方法中与它交互。
public class ItemListFragment extends Fragment{
RelativeLayout relativeDescription;
TextView NomItem;
TextView DescriptionItem;
// and so on
item mItemDesc = null;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
//The whole fragment
View view = (RelativeLayout)inflater.inflate(R.layout.fragment_liste_item,container,false);
//The item description fragment
relativeDescription = (RelativeLayout) inflater.inflate(R.layout.description_item,container, false);
NomItem = view.findViewById(R.id.tv_NomItem);
DescriptionItem = view.findViewById(R.id.tv_DescriptionItem);
// and so on
return liste_item;
}
public void loadDescription(int itemSelectonne) {
//Http Request
ItemClient client = ServiceGenerator.retrofit.create(ItemClient.class);
Call<item> list = client.getDescriptionItem(Authentification.getXauth(), itemSelectonne);
//Async Task
list.enqueue(new Callback<item>() {
@Override
public void onResponse(Call<item> call, Response<item> response) {
if(response.isSuccessful())
{
//Set response from request into (item) variable
mItemDesc = response.body();
//new var (data) used in case of Desync
item data = mItemDesc;
//This returns null
NomItem.setText(data.getNom());
DescriptionItem.setText(data.getDescription());
// and so on
}
else { /*HTTP Errors*/ }
}
}
@Override
public void onFailure(Call<item> call, Throwable t) { /*Message*/ }
});
}
关于java - getActivity().findViewById(R.id.myId) 返回 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53074286/
鉴于页面上只能有一个带有#myid 的元素,我很好奇 E#myid 与 #myid(E 是任何元素)的黑白区别是什么? 最佳答案 #myid 对 input 元素没有影响,这一定是你的错误/错误。它对
当我为一个页面编写 CSS 时,我发现当我以前执行 div#myid 时,我的 CSS 会应用于元素,而当我执行 div #myid 时它不适用,但我不认为这是错误的,我已经使用了很多次并且有效。下面
为什么这不是真的? $('#myId') == document.getElementById("myId") 我正在使用 JQuery 1.4.2 并尝试将 GMap 插入到 div 元素中。 所以
我在使用某些 JavaScript 代码时遇到了这个问题。我在下面的错误中简化了它,因为我已经能够通过调试查明问题。 HTML: Select a Region First
编辑:可用非常小的复制品 https://github.com/dten/CouldntMatchTypeRepro stack test在堆栈 LTS-8.24 (ghc 8.0.2) 上运行良好,
jQuery('[id$="myID"]') 和 $("#") 有什么不同?应该以哪一个为标准呢? 最佳答案 jQuery('[id$="myID"]') - 这选择 id 以 myID 结尾的元素
这些 CSS 选择器是一样的还是有区别的? div#myID { } #myID div { } 如果相同,推荐哪一个? 最佳答案 您的选择器完全不同。 第一个结合了两个不同的选择器来匹配每个
我正在使用 Bootstrap 的 Tokenfield,它不断地将我的文本字段的 id 从 myid 更改为 myid-tokenfield。 此文本字段需要具有特定的 ID 才能与我正在使用的搜索
我的观点上的文字代表一个id。因此,单击时我想获得对该资源的引用。以下不正确的代码代表了我正在尝试做的事情 public void onCreate(Bundle savedInstanceState
我不熟悉以下语法。添加对象的目的是什么? selectIt = $('', {text : $this.attr('title')}); 最佳答案 问题正文中的代码创建一个 div 节点,将 text
我一定错过了一些简单的东西,但是......:在 API 方法的 ZingChart 文档中,函数都引用 myid,但我无法弄清楚 ZingChart 的 id 是什么。例如,方法 getseries
当我将鼠标悬停在图片上时,我试图让我的卡片(框)上的一些描述文本向上移动 10 像素。但出于某种原因,城市名称文本和按钮紧随其后。 No hover in this card (IMG) Here i
我怎样才能在选择器中组合起来通过 id 选择一个 tr 和下一个? 到目前为止: var item = $('tr#CP') /* Selects the item */ var nextitem
我构建了一个使用 Firebase 数据库的 Angular 应用程序。使用 ng serve 命令时,应用程序运行良好,但是,在构建应用程序并发布到生产环境后,它不再呈现并且出现异常 无法读取属性“
本文整理了Java中com.yahoo.cloud.config.ZookeeperServerConfig.myid()方法的一些代码示例,展示了ZookeeperServerConfig.myid
我想合并 $("#myId").val() 和 $(this).val() 这样我就可以使用相同的 id 和连接到数组的名称值 - characters[x].name - 来存储和显示不同的名称。
当我的变量被定义时,我总是收到一个 undefined variable 错误。我尝试了 Stack Overflow 的多种不同建议,但没有一个对我有用。此页面的目的是编辑 PHP 表格中的内容。
我正在尝试通过关注 this gist 在多个 EC2 实例上配置 Kafka ,但我收到以下错误: 我正在运行这个命令: $ bin/zookeeper-server-start.sh config
我正在尝试更新现有记录,我已经在我调用的 View 中创建了他的表单EditRecipeForm(instance=Recipe.objects.get(id=recipe_id) 但在 View 中
因此,我尝试将自定义 XML 模板加载到我的 Fragment 中的 RelativeLayout 中,但 XML Views 返回 null。 我觉得这里缺少一个负责加载“description_f
我是一名优秀的程序员,十分优秀!