0
在第一個活動中,我打開了一個自定義對話框佈局中的按鈕(命名btIndividual)在listview內部。在那個自定義對話框中,我在listview中有一個文本和edittext字段,一個保存按鈕用於將數據發佈到服務器。現在我希望在將數據發佈到服務器之後,第一個活動中名爲btIndividual的按鈕將不可見。無法隱藏自定義對話框中的列表視圖中的按鈕Android
定製適配器的第一項活動:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ProductChoosed productChoosed = productChoosedAr.get(position);
convertView = View.inflate(SolutionActivity.this, R.layout.custom_solution_row, null);
ImageView categoryImageView = (ImageView) convertView.findViewById(R.id.categoryImageView);
TextView categoryNameTextView = (TextView) convertView.findViewById(R.id.categoryNameTextView);
productsListTextView = (TextView) convertView.findViewById(R.id.productsListTextView);
btIndividual = (Button) convertView.findViewById(R.id.btIndividual);
String catgoryImage = "";
String isTradeProduct = productChoosed.isTradeProduct;
if(isTradeProduct.equals("0")){
btIndividual.setVisibility(View.VISIBLE);
productsListTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showTradDialog(position, productChoosedAr.get(position));
}
});
}else{
btIndividual.setVisibility(View.GONE);
}
btIndividual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showIndividualTradDialog(position,productChoosedAr.get(position));
individual_productChoosedAr.clear();
myList.clear();
idIndividual = "";
mIndCount =1;
checkHideButton = position ;
checkButtonPosition = position;
idIndividual = productChoosedAr.get(position).categoryId;
GetIndividualProducts getIndividualProducts = new GetIndividualProducts();
getIndividualProducts.execute();
showDialog();
Toast toast = Toast.makeText(getApplicationContext(),"Loading...",Toast.LENGTH_LONG);
toast.show();
}
});
自定義對話框佈局:
:從這裏我想禁用btIndividual按鈕發佈數據private void showDialog(){
dialog1 = new Dialog(this);
final Dialog tradDialog = new Dialog(this, android.R.style.Theme_Light_NoTitleBar);
View view = getLayoutInflater().inflate(R.layout.trad_dialog_layout_individual, null);
tradDialog.setCanceledOnTouchOutside(false);
lv = (ListView) view.findViewById(R.id.productsListView);
RelativeLayout saveBtnLayout = (RelativeLayout) view.findViewById(R.id.saveBtnLayout);
// Change MyActivity.this and myListOfItems to your own values
clad = new CustomListAdapterDialog(SolutionActivity.this, individual_productChoosedAr);
lv.setAdapter(clad);
clad.notifyDataSetChanged();
mCount = lv.getChildCount();
saveBtnLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int getChildCount1 = lv.getChildCount();
System.out.print(getChildCount1);
for (int i = 0; i < myList.size(); i++) {
// v = lv.getChildAt(i);
// etPrice = (EditText) v.findViewById(R.id.etPrice);
if(myList.get(i).toString().equals("")){
ProductPrice = "NULL";
}else {
ProductPrice = myList.get(i).toString();
}
// if(ProductPrice.equals("")){
// ProductPrice = "NULL";
// }
productPriceAr.add(ProductPrice);
}
Toast toast = Toast.makeText(getApplicationContext(),"Please wait...",Toast.LENGTH_LONG);
toast.show();
SendIndividualDatatoServer sendIndividualData = new SendIndividualDatatoServer();
sendIndividualData.execute();
}
});
//lv.setOnItemClickListener(........);
dialog1.setContentView(view);
dialog1.show();
}
的AsyncTask類
protected void onPostExecute(Void paramVoid) { super.onPostExecute(paramVoid); try { String typeId = "", messageReceived = ""; JSONObject localJSONObject = new JSONObject(this.sendDataResponse); typeId = localJSONObject.getString("type_id"); messageReceived = localJSONObject.getString("msg"); if (typeId.equals("1")) { //if i reached here i want to disable that button // if(checkHideButton == checkButtonPosition){ // btIndividual.setVisibility(View.GONE); // customSelectedProductsAdapter.notifyDataSetChanged(); // customSelectedProductsAdapter.notifyDataSetInvalidated(); // } Toast toast = Toast.makeText(SolutionActivity.this,"Individual Data Posted",Toast.LENGTH_LONG); toast.show(); dialog1.dismiss(); customSelectedProductsAdapter.notifyDataSetChanged(); productPriceAr.clear(); individual_productChoosedAr.clear(); } else Toast.makeText(SolutionActivity.this, messageReceived, Toast.LENGTH_SHORT).show(); btIndividual.setVisibility(View.VISIBLE); } catch (Exception localException) { localException.printStackTrace(); Toast.makeText(SolutionActivity.this, "Network Error Occured", Toast.LENGTH_SHORT).show(); }
所以當你取消註釋'if'statement成'onPostExecute'方法發生了什麼? –
按鈕不會從位置隱藏。沒有任何事情發生 –