修改用作ListView标头的膨胀视图的元素。

时间:2013-07-13 15:52:27

标签: android

我有一个列表视图,其中包含我附加的自定义适配器,它需要有一个标题,其中包含一些可修改的信息。我已经为标题创建了一个xml布局,当它应用时,一切都正确显示。但是当我尝试引用标题视图中的元素并设置其中的内容时,我收到一个未找到资源的异常。在“name.setText(task.getName());”中特别抛出异常。我认为它会被引用到我引用的3个元素中的每个元素。如果它走得那么远。

这样做的正确方法是什么?资源是否引用不在范围内?如何正确修改它们?

包含该列表的我的活动的onCreate如下所示:

super.onCreate(savedInstanceState);
    setContentView(R.layout.taskview);

    Object sTask = getIntent().getSerializableExtra("task");

    TaskNode task = (TaskNode)sTask;


    View header = getLayoutInflater().inflate(R.layout.header, null); 

    TextView name = (TextView) header.findViewById(R.id.hname);
    TextView description = (TextView) header.findViewById(R.id.hdescription);
    TextView completion = (TextView) header.findViewById(R.id.hcompletion);

    name.setText(task.getName());
    description.setText(task.getDescription());
    completion.setText(task.completion());


    taskList = (ListView) findViewById(R.id.taskList);

    taskList.addHeaderView(header); 

    TaskViewListItem adapter = new TaskViewListItem(this, getApplicationContext(), task);

    taskList.setAdapter(adapter);

1 个答案:

答案 0 :(得分:1)

getName()获得一个例外,getDescription()completation()返回一个数字值。当您使用int值调用setText时,android将在R中查找,以便找到具有您作为setText参数提供的ID的String。如果具有该id的String不存在,则将抛出android.content.res.Resources$NotFoundException异常。您可以使用以下命令获取数字的字符串表示形式:

String value = String.valueOf(numericValue);