Java 如何为listview中的特定行添加颜色?
如何为任何特定行着色 我尝试过使用Java 如何为listview中的特定行添加颜色?,java,android,listview,Java,Android,Listview,如何为任何特定行着色 我尝试过使用getView方法,但没有成功。我不想根据条件给任何行上色,我只想用特定的颜色对行进行硬编码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.tv1
getView
方法,但没有成功。我不想根据条件给任何行上色,我只想用特定的颜色对行进行硬编码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.tv1);
listview= (ListView) findViewById(R.id.listview1);
mylist.add("random1");
mylist.add("random2");
mylist.add("random3");
mylist.add("random4");
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, mylist);
listview.setBackgroundColor(Color.CYAN);
listview.setAdapter(adapter);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view,
int position, long id) {
String position2 =String.valueOf(position);
Intent i = new Intent(MainActivity.this,minutes.class);
i.putExtra("position",position2 );
startActivity(i);
}
});
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findviewbyd(R.id.tv1);
listview=(listview)findViewById(R.id.listview1);
mylist.添加(“随机1”);
添加(“随机数2”);
mylist.add(“随机数3”);
mylist.add(“随机数4”);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,mylist);
setBackgroundColor(Color.CYAN);
setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、最终视图、,
内部位置,长id){
字符串位置2=字符串.valueOf(位置);
意图i=新意图(MainActivity.this,minutes.class);
i、 putExtra(“位置”,位置2);
星触觉(i);
}
});
}
我的XML看起来像:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<ListView
android:id="@+id/listview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false">
</ListView>
我的建议是,如果要对颜色进行硬编码,请创建自己的适配器,并在getview方法中对其进行硬编码 另一个选项是通过listview中的child,使用
for(int i = 0; listview.getchildcount() > i; i++){
View child = listview.getChildAt(i);
//Your code...
}
但是这不是很值得推荐,因为滚动列表视图时Child会发生变化…您需要在自定义适配器上覆盖getView并在那里设置颜色