2 つのリスト ビューを android の 1 つのビューに結合する方法。両方のリスト ビューに一意の ID があります。first_list ID が存在する場合は、[追加] ボタンが表示されます。助けて。
ありがとう
2 つの ListView を結合する理由 カーソルまたは配列レベルでこれを実行できるのはなぜですか? おそらくこれを行う可能性はありますが、「ダーティコード」に聞こえます。
次のクラスは必要なものに対応していますか?
public class DoubleListView extends LinearLayout {
private Button button;
public final ListView list1, list2;
public DoubleListView(Context context) {
super(context);
setOrientation(VERTICAL);
list1 = new ListView(context);
addView(list1, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
list2 = new ListView(context);
addView(list2, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1));
button = new Button(context);
addView(button, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
// Initial state
list2.setVisibility(View.GONE);
updateContent();
}
private void updateContent() {
if(list2.getVisibility() == View.VISIBLE) {
button.setText("REMOVE");
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
list2.setVisibility(View.GONE);
updateContent();
}
});
}
else {
button.setText("ADD");
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
list2.setVisibility(View.VISIBLE);
updateContent();
}
});
}
}
}
次のようなサンプル アクティビティで使用できます。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DoubleListView dbleListView = new DoubleListView(this);
dbleListView.list1.setBackgroundColor(Color.RED);
dbleListView.list2.setBackgroundColor(Color.BLUE);
setContentView(dbleListView);
}