Gag*_*wan 0 android android-volley
我写了使用onClick方法来将EditText数据加载到的函数RecycleView。单击时,将EditText所有数据加载到AlertBox,如果单击一个。然后RecycleView根据它加载所有数据。第一次没有显示,但是我再次单击EditText并选择数据,AlertBox然后在RecycleView
activity_day_plan.xml
<EditText
android:id="@+id/txtline"
android:layout_width="156dp"
android:layout_height="33dp"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="12dp"
android:background="@drawable/input"
android:ems="10"
android:inputType="textPersonName"
android:textAlignment="center"
app:layout_constraintEnd_toStartOf="@+id/btnview"
app:layout_constraintStart_toEndOf="@+id/txtfactoryname"
app:layout_constraintTop_toBottomOf="@+id/txtfac" />
Run Code Online (Sandbox Code Playgroud)
主要活动
private EditText addline;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_day_plan);
addline=(EditText)findViewById(R.id.txtline);
addline.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getlist();
}
});
}
public void getlist()
{
arrayList.clear();
if(addfac.getText().equals(""))
{
Toast.makeText(DayPlanActivity.this,"Please Select Factory Code",Toast.LENGTH_SHORT).show();
}
else if(addline.getText().equals(""))
{
Toast.makeText(DayPlanActivity.this,"Please Select Line Code",Toast.LENGTH_SHORT).show();
}
else {
loadingbar.setMessage("Loading All Line Details");
StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.GETDALYDETAILS_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String hourcode1 = jsonObject.getString("hour_code");
String prodqty = jsonObject.getString("qrytime");
String datetime = jsonObject.getString("hourqty");
gethourdetails gethour = new gethourdetails(hourcode1, prodqty, datetime);
arrayList.add(gethour);
}
adapter = new ContactAdapter(arrayList);
recyclerView.setAdapter(adapter);
loadingbar.dismiss();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Hours.setText("Something Went Wrong Please Try again later....");
error.printStackTrace();
}
}) {
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("username", username);
params.put("qno", qno);
return params;
}
};
stringRequest.setRetryPolicy(new DefaultRetryPolicy(
60000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
MySingleton.getInstance(getApplicationContext()).addToRequestque(stringRequest);
}
}
Run Code Online (Sandbox Code Playgroud)
您需要做的就是禁用focus该视图,您的视图将对第一次单击做出反应。
在 XML 中
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false" <!--this line does the magic -->
android:gravity="top" />
Run Code Online (Sandbox Code Playgroud)
爪哇语
EditText editText = findViewById(R.id.username);
editText.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)
在科特林中
val editText = findViewById<EditText>(R.id.edit_text)
editText.isFocusable = false
Run Code Online (Sandbox Code Playgroud)
使用onTouchListener代替onClickListener
addline.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP) {
getlist();
return true;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
使用onFocusChangeListener而不是onClickListener:
yourEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (b)
// do your stuff here if b is true
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
665 次 |
| 最近记录: |