【问题标题】:Android ListView Update ColourAndroid ListView 更新颜色
【发布时间】:2015-06-03 01:45:55
【问题描述】:

我试图让我的列表视图在您单击“注册”按钮时更新“android.R.id.text1”行(两个列表视图行的顶行)的颜色。该课程还在创建时调用 colourCodeCourses() 并且可以正常显示课程颜色,但是当我单击注册按钮时,无论我尝试了什么,我都无法让我的列表视图更新文本的颜色,直到我点击“返回”并重新打开活动视图。此时,列表视图以正确的颜色显示。 (这些不是所有的方法和实例变量,只是相关的)。任何帮助表示赞赏。

private ListView listView;
private ArrayAdapter<Course> courseArrayAdapter;
private AccessEnrollment accessEnroll;
private ArrayList<Course> comparisonList;
private Degree degree;

public void buttonEnrollOnClick(View v){
    int position = listView.getCheckedItemPosition();
    Course course = (Course)listView.getItemAtPosition(position);
    TextView courseID = (TextView)listView.findViewById(android.R.id.text1);
    TextView courseName = (TextView)listView.findViewById(android.R.id.text2);

    accessEnroll.insertEnrollmentData(course);
    degree.addCourse(course);

    colourCodeCourses(position, courseID, courseName, true);

    courseArrayAdapter.notifyDataSetChanged();

}


private void colourCodeCourses(int position, TextView courseTitle, TextView courseDescription, boolean newEnroll) {
    displayGrade = "";

    if(!newEnroll){
    if (degree.getCourse(position).getGrade()!="N")
    {
        displayGrade = " {" + degree.getCourse(position).getGrade() + "} ";
    }
    courseTitle.setText(degree.getCourse(position).getCourseID()+ " " + displayGrade );
    courseDescription.setText(degree.getCourse(position).getCourseName());

    if (comparisonList.contains(degree.getCourse(position)))
    {
        if (degree.getCourse(position).getGrade().equals("IP")){
            courseTitle.setTextColor(Color.rgb(0,0,160));
        }else{
        courseTitle.setTextColor(Color.rgb(0, 160, 0));
        }
    }
    else
    {
        courseTitle.setTextColor(Color.rgb(160, 0, 0));
    }

    }else{
        courseTitle.setTextColor(Color.BLUE);
    }
}

【问题讨论】:

    标签: java android eclipse listview nexus-7


    【解决方案1】:

    你必须在ListViewAdaptergetView()方法中设置你的样式。 据我现在所见,您只是在 ListView 内搜索 TextView 并设置其文本颜色。 您应该将选定的状态存储在您的 Adapter 中,并相应地设置您的 TextView 的颜色。

    这里是链接:http://www.vogella.com/tutorials/AndroidListView/article.html

    【讨论】:

      猜你喜欢
      • 2013-09-24
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 2020-08-29
      • 1970-01-01
      相关资源
      最近更新 更多