cuốn sách gpt4 ai đã làm

android - ListView "quay lại" trong khi cuộn

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 21:00:28 28 4
mua khóa gpt4 Nike

Tôi đang gặp phải hiện tượng lạ trong ListView, chỉ có một ListView, tôi có nhiều ListView trong ứng dụng của mình nhưng nó chỉ xảy ra trong trường hợp này.

Tôi sẽ cố gắng giải thích, khi tôi cuộn xuống phía dưới, quá trình cuộn sẽ dừng lại. Khi tôi cuộn lên trên cùng, nó giống như một cú cuộn ở trên cùng rồi quay lại phía dưới.

tôi cóvideo nàyvấn đề hiển thị.

Đây là xml của ListView của tôi:


android:id="@+id/lv_resultado_produtos"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@color/Black"
android:dividerHeight="1dip"
android:fastScrollEnabled="true"
android:scrollX="0dip"
android:scrollY="0dip"
android:scrollbarSize="22dip"
android:scrollbarStyle="outsideOverlay" />

Và theo lập trình, tôi chỉ cần đặt bộ điều hợp bằng CustomAdapter của mình và thế là xong.

Tôi đã thử nghiệm trong các ListView khác và hiện tượng này không xảy ra.

Tôi sẽ rất vui nếu ai đó có thể giúp tôi.

[编辑]

Đây là bộ chuyển đổi của tôi, nó hơi phức tạp, xin lỗi, tôi đã cố giữ mọi thứ nhưng có một số hạn chế về kích thước ký tự:

[BƯU KIỆN]

[NHẬP KHẨU]

lớp công khai CustomAdapter_Produto_Insercao mở rộng ArrayAdapter {

Chế độ xem tĩnh view_aux = null;

tĩnh OnClickListener listen_convertView = null;
tĩnh OnClickListener listen_btn_editar_produto = null;

hoạt động tĩnhctx;

Dialog_TW ad_estoque tĩnh;

Danh sách tĩnh danh sách_tabela_preco_condicao;

boolean tĩnh công khai có thể nhấp được = true;

đánh dấu boolean tĩnh công khai = false;

public static int linha_atual = 0;

Chế độ xem tĩnh công khai view_actual = null;

id_margem tĩnh = false;
id_destaca_ipi tĩnh = false;
Chuỗi tĩnh ls_id_tipo_regime;
Số nguyên tĩnh li_cd_cliente;

Chuỗi tĩnh caminho_foto;

định dạng thập phân tĩnh định dạng thập phân = null;

kho lưu trữ tĩnh;

Condicao_Preco c_p_null tĩnh;

boolean tĩnh inNotify = false;

phần cuối cùng riêng tư của LayoutInflater;

Id tài nguyên int cuối cùng riêng tư;

public void setClickable(Boolean b){
có thể nhấp được = b;
}

công khai CustomAdapter_Produto_Insercao setId_margem(boolean id_margem){
this.id_margem = id_margem;
return this;
}

public CustomAdapter_Produto_Insercao setHighlight(boolean highlight){
this.highlight = đánh dấu;
return this;
}

công khai CustomAdapter_Produto_Insercao setListener_convertView(Trình nghe OnClickListener){
this.listener_convertView = người nghe;
return this;
}

public CustomAdapter_Produto_Insercao setListener_btn_editar_produto(Trình nghe OnClickListener){
this.listener_btn_editar_produto = người nghe;
return this;
}

public CustomAdapter_Produto_Insercao(Bối cảnh hoạt động, tài nguyên int, đối tượng Danh sách, Danh sách list_tabela_preco_condicao, Chuỗi ls_id_tipo_regime, Số nguyên li_cd_cliente) {

super(bối cảnh, tài nguyên, đối tượng);

ctx = bối cảnh;

this.list_tabela_preco_condicao = list_tabela_preco_condicao;

this.inflater = LayoutInflater.from(ngữ cảnh);
this.resourceId = tài nguyên;
this.ls_id_tipo_regime = ls_id_tipo_regime;
this.li_cd_cliente = li_cd_cliente;

DecimalFormatSymbols thập phânFormatSymbols = new DecimalFormatSymbols();
thập phânFormatSymbols.setDecimalSeparator(',');
thập phânFormatSymbols.setGroupingSeparator('.');
thập phânFormat = DecimalFormat mới ("#,##0,00", thập phânFormatSymbols);

repositorio = Repositorio mới(ctx);
Chuỗi s_id_margem = repositorio.Parametro_getValue("id_margem");
if(s_id_margem != null && s_id_margem.equals("S")){
id_margem = đúng;
}

Chuỗi s_id_destaca_ipi = repositorio.Parametro_getValue("id_destaca_ipi");
if(s_id_destaca_ipi != null && s_id_destaca_ipi.equals("S")){
id_destaca_ipi = đúng;
}

for(Produto_Insercao p_i : đối tượng){
if(p_i.getQt_pedida() == null || p_i.getQt_pedida() == 0d){
p_i.setId_selecionado(sai);
p_i.setId_tabela_condicao_preco(-1);
p_i.setCd_tabela_preco_condicao(-1);
} khác {
p_i.setId_selecionado(true);
}
}

caminho_foto = repositorio.Parametro_getValue("caminho_foto");

c_p_null = Condicao_Preco mới();
c_p_null.setCd_condicao_preco(0);
c_p_null.setCd_tabela_preco_condicao(0);
c_p_null.setDs_condicao_preco("Selecione");
c_p_null.setId_promocao("N");
c_p_null.setId_fake(true);
}

lớp tĩnh riêng ViewHolder {
vị trí int công khai;

TextView công khai cd_produto;
TextView công khai ds_produto;
TextView công khai ds_unidade;
Nút công khai btn_vl_saldo;
Spinner công khai spn_tabela_condicao_preco;
TextView công khai vl_unidade_unitario;
TextView công khai vl_unitario;
Nút công khai qt_produto_menos;
Nút công khai qt_produto_mais;
công khai EditText_Decimal_TW qt_produto;
TextView công khai vl_total;
Nút công khai btn_editar_produto;
TextView công khai vl_custo;
TextView công khai pr_ipi;
public ImageButton foto_produto;

Nút công khai mais_opcoes;
}

@Ghi đè
khoảng trống công khai thông báoDataSetChanged() {
inNotify = đúng;

boolean b = sai;
if(view_aux != null && view_aux.isPressed()){
b = đúng;
}

super.notifyDataSetChanged();

nếu(b){
view_aux.requestFocus();
view_aux.setPressed(true);
view_aux.setSelected(true);
}

inNotify = sai;
}

Chế độ xem công khai getView(vị trí int cuối cùng, Chế độ xem ConvertView, ViewGroup cha) {
ViewHolder viewHolder cuối cùng;

cuối cùng Produto_Insercao p = getItem(position);

if(p.getCd_tabela_preco_condicao() == -1){
p.setId_selecionado(sai);
} khác {
p.setId_selecionado(true);
}

if (convertView == null) {
ConvertView = inflater.inflate(resourceId, parent, false);

viewHolder = ViewHolder mới();

viewHolder.cd_produto = (TextView) ConvertView.findViewById(R.id.cd_produto);
viewHolder.ds_produto = (TextView) ConvertView.findViewById(R.id.ds_produto);
viewHolder.ds_unidade = (TextView) ConvertView.findViewById(R.id.ds_unidade);
viewHolder.btn_vl_saldo = (Nút) ConvertView.findViewById(R.id.btn_vl_saldo);
viewHolder.spn_tabela_condicao_preco = (Spinner) ConvertView.findViewById(R.id.spn_tabela_condicao_preco);
viewHolder.vl_unidade_unitario = (TextView) ConvertView.findViewById(R.id.vl_unidade_unitario);
viewHolder.vl_unitario = (TextView) ConvertView.findViewById(R.id.vl_unitario);
viewHolder.qt_produto_menos = (Nút) ConvertView.findViewById(R.id.qt_produto_menos);
viewHolder.qt_produto_mais = (Nút) ConvertView.findViewById(R.id.qt_produto_mais);
viewHolder.qt_produto = (EditText_Decimal_TW) ConvertView.findViewById(R.id.qt_produto);
viewHolder.vl_total = (TextView) ConvertView.findViewById(R.id.vl_total);
viewHolder.btn_editar_produto = (Nút) ConvertView.findViewById(R.id.btn_editar_produto);
viewHolder.vl_custo = (TextView) ConvertView.findViewById(R.id.vl_custo);
viewHolder.pr_ipi = (TextView) ConvertView.findViewById(R.id.pr_ipi);
viewHolder.foto_produto = (ImageButton) ConvertView.findViewById(R.id.foto_produto);

viewHolder.mais_opcoes = (Nút) ConvertView.findViewById(R.id.mais_opcoes);

boolean id_mobile_utiliza_valor_unitario = false;
Chuỗi s_id_mobile_utiliza_valor_unitario = repositorio.Parametro_getValue("id_mobile_utiliza_valor_unitario");
if(s_id_mobile_utiliza_valor_unitario != null && s_id_mobile_utiliza_valor_unitario.equals("S")){
id_mobile_utiliza_valor_unitario = true;
}
if(!id_mobile_utiliza_valor_unitario){
viewHolder.vl_unidade_unitario.setLayoutParams(LinearLayout.LayoutParams mới(0, 0));
LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 13);
viewHolder.mais_opcoes.setLayoutParams(ll);
} khác {
LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 15);
viewHolder.mais_opcoes.setLayoutParams(ll);
}

ConvertView.setTag(viewHolder);
} khác {
viewHolder = (ViewHolder) ConvertView.getTag();
}

Bộ lặp qt_produto_menos_repeater = Bộ lặp mới(viewHolder.qt_produto_menos);

viewHolder.qt_produto_menos.setOnLongClickListener(qt_produto_menos_repeater);

Bộ lặp qt_produto_mais_repeater = Bộ lặp mới (viewHolder.qt_produto_mais);

viewHolder.qt_produto_mais.setOnLongClickListener(qt_produto_mais_repeater);

if(p.isId_liberado()){
viewHolder.mais_opcoes .setVisibility(View.GONE);

viewHolder.qt_produto_menos .setVisibility(View.VISIBLE);
viewHolder.qt_produto_mais .setVisibility(View.VISIBLE);
viewHolder.qt_produto .setVisibility(View.VISIBLE);
viewHolder.spn_tabela_condicao_preco.setVisibility(View.VISIBLE);
viewHolder.vl_unidade_unitario .setVisibility(View.VISIBLE);
viewHolder.vl_unitario .setVisibility(View.VISIBLE);
viewHolder.vl_total .setVisibility(View.VISIBLE);
viewHolder.btn_editar_produto .setVisibility(View.VISIBLE);
} khác {
viewHolder.mais_opcoes .setVisibility(View.VISIBLE);

viewHolder.qt_produto_menos .setVisibility(View.GONE);
viewHolder.qt_produto_mais .setVisibility(View.GONE);
viewHolder.qt_produto .setVisibility(View.GONE);
viewHolder.spn_tabela_condicao_preco.setVisibility(View.GONE);
viewHolder.vl_unidade_unitario .setVisibility(View.GONE);
viewHolder.vl_unitario .setVisibility(View.GONE);
viewHolder.vl_total .setVisibility(View.GONE);
viewHolder.btn_editar_produto .setVisibility(View.GONE);

p.setId_liberado(false);
}

viewHolder.mais_opcoes.setOnClickListener(OnClickListener mới() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
p.setId_liberado(true);

thông báoDataSetChanged();
}
});

viewHolder.position = vị trí;

if(!inNotify)
MyAsyncTask mới (vị trí, viewHolder, ConvertView, p, this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, null);

if(p.getQt_pedida() != null && p.getQt_pedida() > 0d){
ConvertView.setBackgroundResource(R.color.DuaPi_Pressed);
} khác {
ConvertView.setBackgroundResource(R.color.WhiteSmoke);
}

if(p.getVl_saldo() != null && p.getVl_saldo() > 0d){
viewHolder.cd_produto .setTextColor(Color.BLACK);
viewHolder.ds_produto .setTextColor(Color.BLACK);
viewHolder.ds_unidade .setTextColor(Color.BLACK);
viewHolder.btn_vl_saldo .setTextColor(Color.BLACK);
} khác {
viewHolder.cd_produto .setTextColor(Color.RED);
viewHolder.ds_produto .setTextColor(Color.RED);
viewHolder.ds_unidade .setTextColor(Color.RED);
viewHolder.btn_vl_saldo .setTextColor(Color.RED);
}

if(tô sáng && vị trí == linha_atual){
ConvertView.setBackgroundResource(R.color.DuaPi);
} khác {
ConvertView.setBackgroundResource(R.drawable.listview_background);
}

trả về ConvertView;
}

lớp tĩnh riêng MyAsyncTask mở rộng AsyncTask {

vị trí int riêng tư;
ViewHolder riêng tư viewHolder;
Chế độ xem riêng tư ConvertView;
riêng Produto_Insercao p;

Danh sách riêng lista_tabela_preco_condicao;
mAdapter CustomAdapter_Produto_Insercao riêng tư;
bộ chuyển đổi SpinnerAdapter_Condicao_Preco riêng;

công khai MyAsyncTask(int location, ViewHolder viewHolder, View ConvertView, Produto_Insercao p, CustomAdapter_Produto_Insercao mAdapter) {
this.position = position;
this.viewHolder = viewHolder;
this.convertView = ConvertView;
cái này.p = p;
this.mAdapter = mAdapter;

lista_tabela_preco_condicao = new ArrayList();
}

@Ghi đè
Đối tượng được bảo vệ doInBackground(Object... params) {
if(p.isId_liberado()){
viewHolder.btn_editar_produto.setOnClickListener(new OnClickListener() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
linha_atual = vị trí;
view_atual = ConvertView;

if(listener_btn_editar_produto != null){
Listen_btn_editar_produto.onClick(v);
}
}
});

viewHolder.qt_produto_menos.setOnClickListener(new OnClickListener() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
view_aux = viewHolder.qt_produto_menos;

Đôi qt_anterior = viewHolder.qt_produto.getValor_Double();

viewHolder.qt_produto.setValor(viewHolder.qt_produto.getValor_Double() - p.getFator_venda());

//Xác minh rằng sản phẩm không nằm trong danh sách các mục thực hiện hoạt động phạm tội, không có dữ liệu chính xác...
if(PedidoTabActivity2.find_produto_em_itens(p.getCd_produto())){
if(viewHolder.qt_produto.getValor_Double() <= 0d){
viewHolder.qt_produto.setValor(qt_anterior);
return;
}
}

if(viewHolder.qt_produto.getValor_Double() < 0d){
viewHolder.qt_produto.setValor(0d);
}

p.setQt_pedida(viewHolder.qt_produto.getValor_Double());

tính toánInformacoes(sai);

if(!aturalizaFLEX(p, 30)){
viewHolder.qt_produto.setValor(qt_anterior);
p.setQt_pedida(qt_anterior);
atualizaFLEX(p, 10);
tính toánInformacoes(sai);
return;
}
}
});

viewHolder.qt_produto_mais.setOnClickListener(new OnClickListener() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
view_aux = viewHolder.qt_produto_menos;

Đôi qt_anterior = viewHolder.qt_produto.getValor_Double();

viewHolder.qt_produto.setValor(viewHolder.qt_produto.getValor_Double() + p.getFator_venda());

p.setQt_pedida(viewHolder.qt_produto.getValor_Double());

tính toánInformacoes(sai);

if(!aturalizaFLEX(p, 30)){
viewHolder.qt_produto.setValor(qt_anterior);
p.setQt_pedida(qt_anterior);
atualizaFLEX(p, 10);
tính toánInformacoes(sai);
return;
}
}
});

lista_tabela_preco_condicao.add(c_p_null);

lista_tabela_preco_condicao.addAll(list_tabela_preco_condicao);

if(p.getId_promocao() < 1){
for(int i = 0; i < lista_tabela_preco_condicao.size(); i++){
if(lista_tabela_preco_condicao.get(i).getId_promocao().equals("S")){
lista_tabela_preco_condicao.remove(i--);
}
}
}

OnItemSelectedListener onItemSelectedListener = new OnItemSelectedListener() {
@Ghi đè
public void onItemSelected(AdapterView arg0, View arg1, int arg2, long arg3) {
lựa chọn (arg2);
}

@Ghi đè
public void onNothingSelected(AdapterView arg0) {
}
};

viewHolder.spn_tabela_condicao_preco.setOnItemSelectedListener(onItemSelectedListener);

bộ chuyển đổi = SpinnerAdapter_Condicao_Preco mới (ctx, android.R.layout.simple_spinner_item, lista_tabela_preco_condicao, ls_id_tipo_regime, p.getCd_tabela_preco(), p.getCd_produto(), li_cd_cliente);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}

ConvertView.setOnClickListener(OnClickListener mới() {
khoảng trống công khai trênClick(Xem v) {
if(!clickable){
trở lại ;
}

linha_atual = vị trí;
view_atual = ConvertView;

if(listener_convertView != null){
Listen_convertView.onClick(v);
}

p.setId_liberado(true);

mAdapter.notifyDataSetChanged();
}
});

viewHolder.btn_vl_saldo.setOnClickListener(new OnClickListener() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
if(ad_estoque != null){
trở lại ;
}

ad_estoque = Hộp thoại mới_TW(ctx);

cuối cùng Dialog_TW ad_estoque_temp = ad_estoque;
ad_estoque.setView(R.layout.layout_pedido_venda_tab_insercao_estoque);
ad_estoque.setTitle("Tư vấn về Estoque");
ad_estoque.setCancelable(false);

Xem view_estoque = ad_estoque.getView();

TextView ds_produto = (TextView) view_estoque.findViewById(R.id.ds_produto);
Nút btn_ok = (Nút) view_estoque.findViewById(R.id.btn_ok);
ListView lv_resultado = (ListView) view_estoque.findViewById(R.id.lv_resultado);
TextView vl_total = (TextView) view_estoque.findViewById(R.id.vl_total);

ds_produto.setText(p.toString());

btn_ok.setOnClickListener(OnClickListener mới() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
ad_estoque_temp.getDialog(false, 50d).dismiss();
}
});

ad_estoque.setOnDismissListener(OnDismissListener mới() {
@Ghi đè
public void onDismiss(hộp thoại DialogInterface) {
ad_estoque = null;

if(CustomAdapter_Pedido_Venda_Pendente_Item_Rascunho.editar){
CustomAdapter_Pedido_Venda_Pendente_Item_Rascunho.editar = false;
}
}
});
Repositorio repositorio = Repositorio mới(ctx);
Danh sách lista_saldo_estoque = repositorio.generic_GetList(Saldo_Estoque.class,
"cd_produto = '" + p.getCd_produto() + "'",
vô giá trị,
vô giá trị,
vô giá trị,
"cd_empresa tăng dần",
SAI);
Tổng gấp đôi = 0d;
for(Saldo_Estoque s_e : lista_saldo_estoque){
Danh sách lista_empresa = repositorio.generic_GetList(Empresa.class,
"cd_empresa = '" + s_e.getCd_empresa() + "'",
vô giá trị,
vô giá trị,
vô giá trị,
vô giá trị,
SAI);
Empresa e = null;
if(lista_empresa != null && lista_empresa.size() > 0){
e = lista_empresa.get(0);
s_e.setNm_reduzido(e.getNm_reduzido());
}
tổng += s_e.getQt_disponive();
}
vl_total.setText(decimalFormat.format(tổng));

CustomAdapter_Estoque adapter_estoque = new CustomAdapter_Estoque(ctx, R.layout.layout_pedido_venda_tab_insercao_estoque_lista, lista_saldo_estoque).setHighlight(true);
lv_resultado.setAdapter(adapter_estoque);

ad_estoque.getDialog(false, 50d).show();
}
});
return null;
}
@Ghi đè
khoảng trống được bảo vệ trênPostExecute(Kết quả đối tượng) {

nếu(id_margem){
viewHolder.vl_custo.setVisibility(View.VISIBLE);
viewHolder.vl_custo.setText(p.getVl_custo_unitario() == null ? "-" : DecimalFormat.format(p.getVl_custo_unitario()));
}

if(id_destaca_ipi){
viewHolder.pr_ipi.setVisibility(View.VISIBLE);
viewHolder.pr_ipi.setText(decimalFormat.format(p.getPr_ipi()));
}

if(caminho_foto != null && p.getId_foto() != null && p.getId_foto().equals("S")){
viewHolder.foto_produto.setVisibility(View.VISIBLE);
viewHolder.foto_produto.setOnClickListener(OnClickListener mới() {
@Ghi đè
khoảng trống công khai trênClick(Xem v) {
Util.carregar_foto_produto(p.getCd_produto(), p.getDs_produto(), p.getNm_foto(), ctx);
}
});
}

viewHolder.cd_produto .setText(p.getCd_produto());
viewHolder.ds_produto .setText(p.getDs_produto());
viewHolder.ds_unidade .setText(p.getDs_unidade_unitaria());
viewHolder.btn_vl_saldo.setText(decimalFormat.format(p.getVl_saldo()));

if(p.isId_liberado()){
if(p.isId_selecionado()){
Đơn vị u = null;
Danh sách lista_Unidade = repositorio.generic_GetList(Unidade.class,
"cd_unidade = " + p.getCd_unidade_embalagem(),
vô giá trị,
vô giá trị,
vô giá trị,
vô giá trị,
SAI);
if(lista_Unidade != null && lista_Unidade.size() > 0){
u = lista_Unidade.get(0);
}
Double vl_unidade_unitario = Util.roundDouble(p.getVl_unitario() / (u != null ? u.getFator_conversao() : 1), 2);
viewHolder.vl_unidade_unitario.setText(decimalFormat.format(vl_unidade_unitario));
viewHolder.vl_unitario.setText(decimalFormat.format(p.getVl_unitario()));
viewHolder.vl_total .setText(decimalFormat.format(p.getVl_total()));
} khác {
viewHolder.vl_unidade_unitario.setText(" - ");
viewHolder.vl_unitario .setText(" - ");
viewHolder.vl_total .setText(" - ");
}

viewHolder.qt_produto.setValor(p.getQt_pedida() == null ? 0d : p.getQt_pedida());

viewHolder.spn_tabela_condicao_preco.setAdapter(adapter);

if(lista_tabela_preco_condicao.size() > 1){
viewHolder.spn_tabela_condicao_preco.setEnabled(true);
} khác {
viewHolder.spn_tabela_condicao_preco.setEnabled(false);
}

if(p.isId_selecionado()){
viewHolder.spn_tabela_condicao_preco.setSelection(find_Condicao_Preco_position(lista_tabela_preco_condicao, p.getCd_tabela_preco_condicao()));
} khác {
viewHolder.spn_tabela_condicao_preco.setSelection(0);
}

if(lista_tabela_preco_condicao == null || lista_tabela_preco_condicao.size() < 2){
viewHolder.btn_editar_produto.setEnabled(false);
} khác {
viewHolder.btn_editar_produto.setEnabled(true);
}

if(!p.isId_selecionado() && lista_tabela_preco_condicao.size() == 3){
adapter.getDropDownView(2, null, null);
viewHolder.spn_tabela_condicao_preco.setSelection(2);
}
}

ConvertView.setClickable(true);
ConvertView.setFocusable(true);
}
phép tính kép riêng tưInformacoes_getVl_unitario(){
[CHỈ TÍNH CÁC GIÁ TRỊ]
}
tính toán void riêng tưInformacoes(boolean tính toán_Preco){
[CHỈ TÍNH CÁC GIÁ TRỊ]
}
boolean riêng atualizaFLEX(Produto_Insercao p_i, int operacao) {
[CHỈ TÍNH CÁC GIÁ TRỊ]
}

công khai Condicao_Preco find_Condicao_Preco(Danh sách lista, Số nguyên cd_tabela_preco_condicao){
for(Condicao_Preco c_p : lista){
if(c_p.getCd_tabela_preco_condicao().equals(cd_tabela_preco_condicao)){
trả về c_p;
}
}
return null;
}

Số nguyên công khai find_Condicao_Preco_position(List lista, Số nguyên cd_tabela_preco_condicao){
for(int i = 0; i < lista.size(); i++){
Condicao_Preco c_p = lista.get(i);
if(c_p.getCd_tabela_preco_condicao().equals(cd_tabela_preco_condicao)){
trả lại tôi;
}
}
return null;
}

lựa chọn khoảng trống công khai (Số nguyên arg2) {
nếu(arg2 > 0){
Condicao_Preco c_p = find_Condicao_Preco(lista_tabela_preco_condicao, p.getCd_tabela_preco_condicao());
Condicao_Preco c_p_aux = lista_tabela_preco_condicao.get(arg2);
if(c_p == null || !c_p.getCd_tabela_preco_condicao().equals(c_p_aux.getCd_tabela_preco_condicao())){
if(p.getId_gera_flex().equals("S") && c_p_aux.getDs_condicao_preco().equals("Última Venda")){
if(c_p_aux.getDs_condicao_preco().equals("Última Venda")){
Util.MessageDialog_Ok(ctx,
ctx.getResources().getString(R.string.titulo_dialog_padrao),
"Produto que gera FLEX không có khả năng được chọn 'Última Venda'.", Util.ICONE_INFORMATION);
}
p.setCd_tabela_preco_condicao(p.getCd_tabela_preco_condicao());
mAdapter.notifyDataSetChanged();
return;
}
if(c_p_aux.getVl_valor() != null){
p.setCd_tabela_preco_condicao(c_p_aux.getCd_tabela_preco_condicao());
p.setId_selecionado(true);
tính toánInformacoes(true);
} khác {
Util.MessageDialog_Ok(ctx,
ctx.getResources().getString(R.string.titulo_dialog_padrao),
"Não bạn có thể đạt được một mục tiêu cuối cùng cho khách hàng này.", Util.ICONE_INFORMATION);
p.setCd_tabela_preco_condicao(p.getCd_tabela_preco_condicao());
mAdapter.notifyDataSetChanged();
}
}
} khác {
p.setCd_tabela_preco_condicao(-1);
p.setId_selecionado(sai);
tính toánInformacoes(true);
}
}
}
}

Trân trọng,

William Bertin

câu trả lời hay nhất

Một số điều:

1) AsyncTask có nhiều vấn đề. Đầu tiên, nó luôn được kích hoạt - khi bạn xem , một biến tĩnh không bao giờ có thể đúng - luồng chính không thể đồng thời thông báoDataSetChangedxem Ngoài ra, quan trọng hơn là bạn muốn thay đổi từ chủ đề chính! Lượt xem, điều này thật tệ, tệ, tệ. Nó có đầy đủ các điều kiện chạy đua, cho cả mã của riêng bạn và khung. Phải làm lại chỉ để chạm onPostExecute

Xem trong

2) Bạn là thông báoDataSetChanged() Mã trong trông thực sự không ổn định - bạn đang giữ một tham chiếu đến Chế độ xem nhưng nếu tôi nhấp và cuộn trước khi trình nghe onClick của bạn thực thi thì Chế độ xem có thể không mở màn hình nữa. Tất nhiên, đây là một trường hợp hiếm gặp nhưng nhìn chung, việc chạy các tham chiếu đến bất kỳ mục ListView hoặc lượt xem phụ nào đều được tránh bằng mọi giá. Điều này chắc chắn sẽ gây ra sự cố và/hoặc rò rỉ bộ nhớ (đặc biệt nếu tham chiếu là tĩnh!).

Tôi không chắc nguyên nhân chính xác của lỗi là gì, nhưng nếu phải đoán thì tôi sẽ nói có viewAux.setPressed/setSelected/requestFocus ĐƯỢC RỒI. Cụ thể,yêu cầu tập trung Rất đáng ngờ - Android cuộn bất kỳ vùng chứa cuộn nào trong cửa sổ để đặt Chế độ xem tập trung vào vùng hiển thị.

3) Xóa khỏi ListView android:cuộnXcuộnY - Tôi khá chắc chắn rằng họ thực sự không làm gì cả, nhưng ngay cả khi họ có làm thì đó cũng có thể là điều sai trái.

Về android - ListView "trở lại" khi cuộn, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/17700178/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress