私の考えは、色分けされたリストビューを作成して、各アイテムのレイアウトに細い色のバーを配置したいと思うことです。このバーは、アクティビティに渡すintに基づいて特定の色にする必要があります。そのような棒(基本的に塗りつぶし矩形)を作成し、その色を設定するにはどうすればいいですか?現在、私は自分のリストにカスタムレイアウトを使用しており、SimpleAdapterとArrayListを使用しています。Androidで色分けされたListViewを作成する
私はこれは私が単に現時点で考えることができない、または基本的に不足しているしなければならない単純なことであると確信しています
if (integerForColor == someNumber)
//set the color of the shape, bar
を使用する必要があります知っています。あなたの努力のために事前にありがとうございます。
EDIT 1:ここにいた答えの一部を解読しようとすると
、私は君たちが私は私のリストを構築していますどのように私のコードを必要とすることを実現:
public class AddScreen extends Activity implements OnClickListener,
OnItemClickListener, OnItemLongClickListener {
SimpleAdapter adapter;
List<HashMap<String, String>> painItems = new ArrayList<HashMap<String, String>>();
ListView listthings;
public void onCreate(Bundle savedInstanceState) {
from = new String[] { "row_1", "row_2" };
to = new int[] { R.id.row1, R.id.row2 };
adapter = new SimpleAdapter(this, painItems, R.layout.mylistlayout,
from, to);
listthings.setAdapter(adapter);
}
getView()メソッドを追加しました:
public View getView (int position, View convertView, ViewGroup parent){
convertView.setBackgroundColor(R.drawable.red);
return convertView;
//I have no inflater as of now...
}
EDIT 2:@huntsfromshadowの提案に従って、私は新しいアクティビティを作成し、そこにgetView()メソッドをオーバーライドしました。
//Imports
public class Adapter extends SimpleAdapter{
public Adapter(Context context, List<? extends Map<String, ?>> data,
int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
View row = convertView;
row.setBackgroundColor(0xFF0000FF);
return row;
}
}
残念ながら、それでも機能しません。
を使用することができます。このシナリオのサンプルコードを提供していただけますか? – Kgrover
http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/カスタムアレイアダプタを作成する方法の良い例です。基本は配列、カーソルなどと同じです。必要なアダプタ(通常はgetView)のメソッドをオーバーライドすることですべて動作します – huntsfromshadow
あなたは私の更新されたコードを見て助けてくれますか? – Kgrover