Android 仅更改连接到firebase的arraylist中文本的1种颜色
我只更改了整个数组列表的颜色,试图找到一种方法来获取数组的位置并为每行设置不同的颜色,这是我更改整个数组列表颜色的代码:Android 仅更改连接到firebase的arraylist中文本的1种颜色,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我只更改了整个数组列表的颜色,试图找到一种方法来获取数组的位置并为每行设置不同的颜色,这是我更改整个数组列表颜色的代码: package com.ofir.motoinfo; import android.content.Intent; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; impo
package com.ofir.motoinfo;
import android.content.Intent;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.firebase.ui.database.FirebaseListAdapter;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import static android.media.CamcorderProfile.get;
public class ktmList extends AppCompatActivity {
private ListView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.models_list);
mListView = (ListView) findViewById(R.id.models_list);
final ArrayList<bikeDetails> models = new ArrayList<>();
final BikeAdapter bikeAdapter = new BikeAdapter(this,models);
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://xxxxxx.firebaseio.com/models");
databaseReference.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String value = dataSnapshot.getValue(String.class);
models.add(new bikeDetails(value, ContextCompat.getColor(ktmList.this, R.color.colorAccent)));
bikeAdapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mListView.setAdapter(bikeAdapter);
}
}
package com.ofir.motoinfo;
导入android.content.Intent;
导入android.support.v4.content.ContextCompat;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入com.firebase.ui.database.FirebaseListAdapter;
导入com.google.firebase.database.ChildEventListener;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.ArrayList;
导入静态android.media.CamcorderProfile.get;
公共类ktmList扩展了AppCompative活动{
私有列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.models_列表);
mListView=(ListView)findViewById(R.id.models\u列表);
最终ArrayList模型=新ArrayList();
最终BikeAdapter BikeAdapter=新的BikeAdapter(此型号);
DatabaseReference DatabaseReference=FirebaseDatabase.getInstance().getReferenceFromUrl(“https://xxxxxx.firebaseio.com/models");
databaseReference.addChildEventListener(新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
String value=dataSnapshot.getValue(String.class);
添加(新的bikeDetails(value,ContextCompat.getColor(ktmList.this,R.color.colorAccent));
bikeAdapter.notifyDataSetChanged();
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
mListView.setAdapter(bikeAdapter);
}
}
提前谢谢你的帮助
另外,我完全是新手,所以请保持温和:)需要在自定义适配器类中重写getView方法:
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView textView = (TextView) view.findViewById(android.R.id.text1);
textView.setTextColor(Color.BLUE);
if(position == 0){
textView.setTextColor(Color.CYAN);
}
if(position == 1){
textView.setTextColor(Color.BLACK);
}
if(position == 2){
textView.setTextColor(Color.YELLOW);
}
if(position == 3){
textView.setTextColor(Color.GREEN);
}
if(position == 4){
textView.setTextColor(Color.MAGENTA);
}
if(position > 4){
textView.setTextColor(Color.BLACK);
}
return view;
}
这只是一个例子,根据需要修改它,可能也很容易放入switch语句如果你发布BikeAdapter类的代码,可能更容易提供有用的答案哇,没想到它会这么简单,习惯了一切变得越来越复杂我甚至没想过要更改适配器,非常感谢!