Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使按钮可见和不可见_Android_Button_Android Edittext_Show Hide - Fatal编程技术网

Android 使按钮可见和不可见

Android 使按钮可见和不可见,android,button,android-edittext,show-hide,Android,Button,Android Edittext,Show Hide,所以我的问题是,我做了下面的2个函数,目标是返回编辑文本是否有写的内容,如果有,我希望它使按钮可见,如果没有,我希望按钮保持不可见。但这不起作用,我要把我的代码全部显示出来 功能,这是我做的功能: private boolean checkEditText(EditText edit) { return edit.getText().length() == 0; } void updateButtonState() { if(checkEditText(inputdtestab) &am

所以我的问题是,我做了下面的2个函数,目标是返回编辑文本是否有写的内容,如果有,我希望它使按钮可见,如果没有,我希望按钮保持不可见。但这不起作用,我要把我的代码全部显示出来

功能,这是我做的功能:

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);

    }
 } 
这不起作用,我想原因是它没有运行代码的else部分,因为我尝试创建一个按钮,当我点击它时,按钮会出现,并且工作正常。但我想怎么做就怎么做,没用

所有代码:

 @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();
}

}


}
@suppressint({“NewApi”,“CutPasteId”})
公共类Newlin_ProductActivity扩展活动{
/**网络服务*/
私人对话;
JSONParser JSONParser=新的JSONParser();
编辑文本输入选项卡;
编辑文本输入数据;
编辑文本输入;
编辑文本量化;
编辑文本日期;
按钮更改日期;
字符串id2;
字符串数据;
字符串数据2;
int Date_Dialog_ID=0;
int cDay,cMonth,cYear;//这是当前日期的实例
日历日期;
int sDay,sMonth,sYear;//这是输入日期的实例
//创建新产品的url
私有静态字符串url\u创建\u产品=”http://10.0.2.2/webprojecto4/inserir_lin_doc.php";
//JSON节点名称
私有静态最终字符串标记_SUCCESS=“SUCCESS”;
私有静态最终字符串标记\u ID=“ID”;
私有静态最终字符串数据=“dt”;
私有静态最终字符串DATA2=“dt2”;
@SuppressLint(“新API”)
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.add_linha);
Intent i=getIntent();
id2=i.getStringExtra(标签ID);
数据=i.getStringExtra(数据);
data2=i.getStringExtra(data2);
/**网络服务*/
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);
//创建按钮
按钮btnCreateProduct=(按钮)findViewById(R.id.button2);
//按钮点击事件
btnCreateProduct.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
//在后台线程中创建新产品
新建CreateNewProduct().execute();
}
});
updateButtonState();
}
//restriçoes ver
专用布尔值checkEditText(编辑文本编辑){
返回edit.getText().length()==0;
}
void updateButtonState(){
if(checkEditText(inputdestab)和&checkEditText(quantidade))
{
输入设置错误(“yipikaei”);
quantidade.setError(“Mudfukkerr”);
}
否则{
按钮btnCreateProduct=(按钮)findViewById(R.id.button2);
btnCreateProduct.setVisibility(View.visible);
}
} 
私有OnDateSetListener onDateSet=新OnDateSetListener(){
@凌驾
公共无效onDateSet(日期选择器视图,整数年,整数月,
整数(每月的第几天){
//TODO自动生成的方法存根
系统输出打印项次(“2”);
sYear=年;
斯蒙特=蒙特霍夫年;
星期四=月日;
更新的显示(sYear,斯蒙顿,星期四);
}
};
/**
*创建新产品的后台异步任务
* */
类CreateNewProduct扩展了AsyncTask{
/**
*在启动后台线程显示进度对话框之前
* */
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=newprogressdialog(Newlin\u ProductActivity.this);
pDialog.setMessage(“创建产品…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
/**
*创造产品
* */
受保护的字符串doInBackground(字符串…args){
String id_estab=inputdestab.getText().toString();
字符串quantidades=quantidade.getText().toString();
字符串数据=inputdata.getText().toString();
字符串hr=inputhora.getText().toString();
//建筑参数
List params=new ArrayList();
添加参数(新的BasicNameValuePair(“id_cab_doc”,id2));
params.add(新的BasicNameValuePair(“num_-lin”,“”);//ir buscar criar
参数添加(新的BasicNameValuePair(“id_produto”,“00000”);
参数添加(新的BasicNameValuePair(“id_tipo_produto”,“00”);
参数添加(新的BasicNameValuePair(“id_estab”,id_estab));
参数添加(新的BasicNameValuePair(“quantidade”,quantidades));
参数添加(新的BasicNameValuePair(“dt”,数据));
参数添加(新的BasicNameValuePair(“hr”,hr));
//获取JSON对象
//请注意,创建产品url接受POST方法
JSONObject json=jsonParser.makeHttpRequest(url\u create\u product,
“POST”,params);
//检查cat fro响应日志
d(“创建响应”,json.toString());
//检查成功标签
试一试{
int success=json.getInt(TAG_success);
如果(成功==1){
//已成功创建产品
Intent i=新Intent(getApplicationContext(),Linhas_pesagem.class);
i、 putExtra(标签号,id2);
i、 添加标志(意图、标志、活动、清除、顶部);
星触觉(i);
//关闭此屏幕
完成();
}否则{
//未能创建产品
Intent i=新Intent(getApplicationContext(),Linhas_pesagem.class);
i、 putExtra(标签号,id2);
星触觉(i);
完成();
}
}捕获(JSONException e){
e、 printStackTrace();
}
返回null;
}
/**
*完成后台任务后,关闭“进度”对话框
* **/
受保护的void onPostExecute(字符串文件\u url){
//完成后关闭对话框
pDialog.disclose();
}
}
}

设置视图可见性
意味着您需要定义视图的id。相反,请使用:

yourButton.setVisibility( View.(GONE, HIDDEN, VISIBLE, ...))
“所以我的问题是,我做了2个函数,目标是返回edittext是否有写的内容,如果有,我希望它使按钮可见,如果没有,我希望buton保持不可见。但这不起作用,我要显示我所有的代码。”

所以基本上你想显示
void updateButtonState() {
    // Create button
    Button btnCreateProduct = (Button) findViewById(R.id.button2);

    if(checkEditText(inputdtestab) && checkEditText(quantidade)) {
        inputdtestab.setError("yipikaei");
        quantidade.setError("mudfukkerrr");

        // ==========================================
        // make the button invisible.
        btnCreateProduct.setVisibility(View.INVISIBLE); // or use View.GONE
    } else {

        // ==========================================
        // make button visible.
        // use the method "setVisibility", not "setViewVisibility"
        // and "VISIBLE" in "View.VISIBLE" is in full cap:
        btnCreateProduct.setVisibility(View.VISIBLE);
    }
}
private TextWatcher myTextWatcher = new TextWatcher() {
  public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {}
  public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {}

  public void afterTextChanged(Editable editable) {
    // invoke the following method here:
    updateButtonState();
  }
};
inputdtestab.addTextChangedListener(myTextWatcher);
quantidade.addTextChangedListener(myTextWatcher);