내 문제는 다음과 같은 ive입니다. edittext에 문안이 있거나 없는지를 반환하는 것이 목적입니다. 만약 내가 원한다면 버튼을 보이게하고 싶습니다. buton은 보이지 않는 채로 있습니다. 그러나이 밤은 작업 메신저 Gona을 내 모든 코드를표시 및 보이지 않는 버튼 만들기
기능을 보여,이 만든 필자 기능은 다음과 같습니다
private boolean checkEditText(EditText edit) {
return edit.getText().length() == 0;
}
void updateButtonState() {
if(checkEditText(inputdtestab) && checkEditText(quantidade))
{
inputdtestab.setError("yipikaei");
quantidade.setError("mudfukkerrr");
}
else{
// Create button
Button btnCreateProduct = (Button) findViewById(R.id.button2);
btnCreateProduct.setVisibility(View.visible);
}
}
이 그나마 작업이와 내가 그것을 코드의 다른 부분을 실행 나던 때문에 이유는 생각, 왜냐하면 나는 버튼을 만들려고했기 때문에 그것을 클릭하면 버튼이 나타나고 잘 동작하기 때문이다. 하지만 내가 원하는대로하고, 그것은 작동하지 않습니다.
모든 코드 :
@SuppressLint({ "NewApi", "CutPasteId" })
public class Newlin_ProductActivity extends Activity{
/** WebServices */
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
EditText inputdtestab;
EditText inputdata;
EditText inputhora;
EditText quantidade;
EditText etDate;
Button change_date;
String id2;
String data;
String data2;
int Date_Dialog_ID=0;
int cDay,cMonth,cYear; // this is the instances of the current date
Calendar cDate;
int sDay,sMonth,sYear; // this is the instances of the entered date
// url to create new product
private static String url_create_product = "http://10.0.2.2/webprojecto4/inserir_lin_doc.php";
// JSON Node names
private static final String TAG_SUCCESS = "success";
private static final String TAG_ID = "id";
private static final String DATA = "dt";
private static final String DATA2 = "dt2";
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_linha);
Intent i = getIntent();
id2 = i.getStringExtra(TAG_ID);
data = i.getStringExtra(DATA);
data2 = i.getStringExtra(DATA2);
/** WebServices */
inputdtestab= (EditText) findViewById(R.id.editestab);
inputdata = (EditText) findViewById(R.id.editdata);
inputhora = (EditText) findViewById(R.id.edithora);
quantidade = (EditText) findViewById(R.id.editquantidade);
inputhora.setText(hr);
// Create button
Button btnCreateProduct = (Button) findViewById(R.id.button2);
// button click event
btnCreateProduct.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// creating new product in background thread
new CreateNewProduct().execute();
}
});
updateButtonState();
}
//restriçoes ver
private boolean checkEditText(EditText edit) {
return edit.getText().length() == 0;
}
void updateButtonState() {
if(checkEditText(inputdtestab) && checkEditText(quantidade))
{
inputdtestab.setError("yipikaei");
quantidade.setError("mudfukkerrr");
}
else{
Button btnCreateProduct = (Button) findViewById(R.id.button2);
btnCreateProduct.setVisibility(View.visible);
}
}
private OnDateSetListener onDateSet=new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
System.out.println("2");
sYear=year;
sMonth=monthOfYear;
sDay=dayOfMonth;
updateDateDisplay(sYear,sMonth,sDay);
}
};
/**
* Background Async Task to Create new product
* */
class CreateNewProduct extends AsyncTask<String, String, String> {
/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Newlin_ProductActivity.this);
pDialog.setMessage("Creating Product..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* Creating product
* */
protected String doInBackground(String... args) {
String id_estab = inputdtestab.getText().toString();
String quantidades = quantidade.getText().toString();
String data = inputdata.getText().toString();
String hr = inputhora.getText().toString();
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("id_cab_doc", id2));
params.add(new BasicNameValuePair("num_lin", ""));//ir buscar criar
params.add(new BasicNameValuePair("id_produto", "00000"));
params.add(new BasicNameValuePair("id_tipo_produto", "00"));
params.add(new BasicNameValuePair("id_estab", id_estab));
params.add(new BasicNameValuePair("quantidade", quantidades));
params.add(new BasicNameValuePair("dt", data));
params.add(new BasicNameValuePair("hr", hr));
// getting JSON Object
// Note that create product url accepts POST method
JSONObject json = jsonParser.makeHttpRequest(url_create_product,
"POST", params);
// check log cat fro response
Log.d("Create Response", json.toString());
// check for success tag
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// successfully created product
Intent i = new Intent(getApplicationContext(), Linhas_pesagem.class);
i.putExtra(TAG_ID, id2);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
// closing this screen
finish();
} else {
// failed to create product
Intent i = new Intent(getApplicationContext(), Linhas_pesagem.class);
i.putExtra(TAG_ID, id2);
startActivity(i);
finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss();
}
}
}
doesnt는 똑같이 작동한다. – user3626801
나는 그런 식으로 사용했기 때문에 작동하지 않는다. – user3626801
@ user3626801 무엇을 의미 하는가? 'setVisibility (View.VISIBLE);'는 버튼을 숨기지 않습니까? – RestInPeace