【问题标题】:set background Color of view on List and Save when scrolling设置列表视图的背景颜色并在滚动时保存
【发布时间】:2020-02-13 23:31:16
【问题描述】:
lv_monsterLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 @Override
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
     view.setBackgroundColor(GREEN); 
}

enter image description here 这可以设置背景颜色,但是一旦我向上滚动颜色就会消失,任何关于如何保存滚动时单击的项目颜色的帮助都会很棒!

【问题讨论】:

    标签: java android-studio


    【解决方案1】:

    在你的 Monster 模型中添加一个字段 color,在项目单击时设置 color,在渲染时检查颜色值并相应地设置视图颜色。

    【讨论】:

    • 我设置了色域。然后我是否使用我之前使用的相同方法来设置项目点击的颜色?
    • 你能给我看任何例子或指出任何可能有帮助的东西吗?
    【解决方案2】:

    在适配器类中,我做到了

    oneMonsterLine.setBackgroundColor(p.getColor());
    

    然后我去了我的Monster class

    p.setColor(WHITE);
    

    现在,我可以点击项目了

    lv_monsterLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                 @Override
                 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                     adapter.getItem(position).setColor(GREEN);
                     Log.d(TAG, "onItemClick: position" + position);
                     adapter.notifyDataSetChanged();
                 }
             }); 
    

    我确信有更好的方法,但这可以完成工作,您可以随意放弃任何更简单的方法。

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多