gpt4 book ai didi

android - 从主要 Activity 更改 ListView 字段属性

转载 作者:行者123 更新时间:2023-11-29 00:36:55 24 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序。在我的主要 Activity 中,我必须实现一个列表。以下是我的页面的示例形状

|----------------------| \
| |Button| | \
|----------------------| \
|listview row1 | \ \
|listview row1 | \ \---------Screen
|listview row1 | / --/----- ListView
| |/ /
| | /
| | /
|______________________|/

按钮在我的 Activity 页面中, ListView 行在 baseadapter 中创建。 ListView 包含一个 TextView 。现在我必须更改 TextView 的背景颜色,当我从 Activity 中单击按钮时,下次我单击按钮时, TextView 颜色会保留旧的颜色。我该怎么做 friend ?。我在 getview() 方法中声明了 textview。

最佳答案

可能还有其他方法,但我会在按钮的 OnClick 方法中循环遍历列表行。像这样的东西:

在您的 Activity 字段定义中:

    static final int colourA=Color.argb(255,255,0,0);
static final int colourB=Color.argb(255,0,255,0);
int currentColour=colourA;

在您的 OnCreate Activity 中:

        Button myButton = (Button) findViewById(R.id.myButton); 
final ListView myListView = (ListView) findViewByID(R.id.myListView);
//change myButton to your button id, and myListView to your ListView id
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//This is the code to toggle the colours, you can do pretty much whatever you want here though
if (currentColour==colourA){
currentColour=colourB;
} else {
currentColour=colourA;
}

//This cycles through all the root views in the ListView. If you want to change the
//colour of only one view in the row layout, in the for loop use
//rowView.findViewById(R.id.myViewInRow).setBackgroundColor(currentColour);
//instead, to get the relevant view in the row
View rowView;
for (int i=0;i<myListView.getChildCount();i++){
rowView=myListView.getChildAt(i);
rowView.setBackgroundColor(currentColour);
}
}
});

关于android - 从主要 Activity 更改 ListView 字段属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12119735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com