-1

我创建了一个时间表应用程序,它允许用户输入数据然后查看它。但是,如果用户输入一个条目,在已经有一个条目的日期和时间,我的模拟器崩溃(强制关闭)。基本上我将数据拉回线性布局,其中包含 10 个 TextView,每个代表 9-15 的时间。这是代码:

        public void addMondayGrid() {
    // TODO Auto-generated method stub
    for (int index = 0; index < info.mon.size(); index++) {

        // int entryId = info.monIds.get(index);
        int time = info.monTimes.get(index);
        int id = info.monIds.get(index);
        int duration = info.monDuration.get(index);
        String dayOfWeek = "mon";

        timeId = getResources().getIdentifier("mon" + time, "id",
                getPackageName());
        if (duration == 1) {
            SpannableString text = new    SpannableString(info.mon.get(index));
            setEntryColour(text);
            final TextView textV = (TextView) findViewById(timeId);
            textV.setTextSize(10);
            textV.setText(text, BufferType.SPANNABLE);
            textV.setId(id);
            deleteGridEntry(textV);
        } else {
            longerDuration(time, index, id, info.mon, dayOfWeek);

        }

    }

}

只要在同一天和同一时间没有两个条目,例如,事情就可以正常工作。星期一 9 点。任何人有任何想法?我对此很陌生,任何帮助将不胜感激!

我必须以这种方式引用 id,因为有太多 id 无法引用任何其他方式,难道没有一种简单的方法可以用从数据库中拉回的新数据覆盖旧的 textView 吗?我希望 id 与我要处理的 textView 相同,但它只是不断崩溃,这与实例有关吗?

4

1 回答 1

1

改变:

      final TextView textV = (TextView) findViewById(timeId);

至:

        final TextView textV = (TextView) findViewById(R.id.timeId);
于 2012-05-01T09:46:40.567 回答