Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 仅更改连接到firebase的arraylist中文本的1种颜色_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

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类的代码,可能更容易提供有用的答案哇,没想到它会这么简单,习惯了一切变得越来越复杂我甚至没想过要更改适配器,非常感谢!