i Problemen mit mir versuche, 2 Tasten in meinen Listview hinzufügen, ich bin mit einem Bild zu, was ich habe und was ich willhinzufügen 2 Taste Listview mit benutzerdefinierten Adapter
i Also, Ich möchte nur die 2 Tasten dort hinzufügen, aber ich habe versucht, es mit benutzerdefinierten Adaptern zu tun, aber ich kann es immer noch nicht tun, wenn jemand mir helfen könnte, würde ich es wirklich schätzen.
Meine Dateien so weit:
activity_vendor_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_vendedor_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:background="@color/colorPrimary"
android:layout_height="match_parent"
android:weightSum="1">
<ImageView
android:src="@drawable/logo"
android:layout_width="209dp"
android:layout_height="106dp"
android:layout_marginBottom="20dp"
android:layout_gravity="center_horizontal" />
/>
<ImageView
android:src="@drawable/orderid1"
android:layout_width="134dp"
android:layout_height="34dp"
android:layout_gravity="center_horizontal"
/>
<SearchView
android:layout_width="match_parent"
android:layout_height="30dp"
android:id="@+id/seacrhBar"
android:textColor="@color/colorVendor"
android:layout_marginTop="25dp"
android:background="@drawable/vendor_bars_background"/>
<android.support.v7.widget.AppCompatButton
android:text="AGREGAR ORDEN"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="8dp"
android:textStyle="bold"
android:textColor="@color/colorVendor"
android:background="@drawable/single_button"
android:id="@+id/add_order1"
android:onClick="EVENTO" />
<ListView
android:layout_width="wrap_content"
android:layout_height="190dp"
android:id="@+id/tablaPedidos"
android:choiceMode="singleChoice"
android:layout_above="@+id/editText2"
android:background="@drawable/vendor_bars_background"
android:layout_weight="0.13" />
<android.support.v7.widget.AppCompatButton
android:text="CERRAR SESIÓN"
android:layout_width="120sp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:layout_marginBottom="135dp"
android:textStyle="bold"
android:textColor="@color/colorVendor"
android:background="@drawable/button_login_form"
android:id="@+id/signOut2_order_form"
android:onClick="logout" />
</LinearLayout>
MainActivity.java
public class LoginActivity extends AppCompatActivity {
GlobalClass appContext;
@BindView(R.id.input_username)
EditText _usernameText;
@BindView(R.id.input_password)
EditText _passwordText;
@BindView(R.id.btn_login)
Button _loginButton;
ProgressDialog progressDialog;
//Invocación de servicio para acceso al API
UsersHandler client = ServiceGenerator.createService(UsersHandler.class);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
ButterKnife.bind(this);
appContext = (GlobalClass)getApplicationContext();
_loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
login();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onBackPressed() {
moveTaskToBack(false);
}
public void onLoginSuccess() {
_loginButton.setEnabled(true);
finish();
}
public void onLoginFailed(String message) {
Toast.makeText(getBaseContext(), message, Toast.LENGTH_LONG).show();
_loginButton.setEnabled(true);
}
public void login() {
if (!validate()) {
// onLoginFailed("Login failed");
return;
}
_loginButton.setEnabled(false);
progressDialog = new ProgressDialog(LoginActivity.this,R.style.AppTheme_Dark_Dialog);
progressDialog.setIndeterminate(true);
progressDialog.setMessage("Autenticando...");
progressDialog.show();
new android.os.Handler().postDelayed(
new Runnable() {
public void run() {
onLoginSuccess();
//progressDialog.dismiss();
}
}, 3000);
progressDialog.dismiss();
String userType = appContext.getSessionUserType();
loadUserView(userType);
}
public boolean validate() {
boolean valid = true;
String username = _usernameText.getText().toString().trim();
String password = _passwordText.getText().toString();
//if (email.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(username).matches()) {
if (username.isEmpty()) {
_usernameText.setError("Ingrese un usuario válido.");
valid = false;
} else {
_usernameText.setError(null);
}
if (password.isEmpty() || password.length() < 4) {
_passwordText.setError("No menos de 4 caracteres alfanuméricos");
valid = false;
} else {
_passwordText.setError(null);
}
if (valid) {
valid = validateApi(1, username, password);
}
return valid;
}
public boolean validateApi(int i, String username, String password) {
appContext.setSessionToken("1");
appContext.setSessionUserType(Constants.COURIER);
if (username.equals("v"))
appContext.setSessionUserType(Constants.VENDOR);
appContext.setSessionUsername("tester");
appContext.setSessionCompany("test");
appContext.saveSessionAttributes();
return true;
}
public boolean validateApi(String username, String password) {
boolean valid = false;
//Creación de request
UserLoginRequest requestObj = new UserLoginRequest(username, password);
//Declaración de request
Call<ResponseBody> call = client.userLogin(requestObj);
JSONObject json = null;
try {
ResponseBody responseBody = call.execute().body();
json = UtilsController.getJsonResponse(responseBody);
boolean success = UtilsController.isJsonValid(json);
String error = UtilsController.extractMessage(json);
if (success) {
User response = (User) UtilsController.extractDataJson(json, User.class);
appContext.setSessionToken(response.getToken());
appContext.setSessionUserType(response.getUserType());
appContext.setSessionUsername(response.getUsername());
appContext.setSessionCompany(response.getCompanyName());
appContext.saveSessionAttributes();
valid = true;
} else {
onLoginFailed(error);
return false;
}
} catch (IOException e) {
//Error en lectura de respuesta de servidor
onLoginFailed("Error interno. Intente más tarde");
} catch (JSONException e) {
//Error en campos de respuesta
onLoginFailed("Error interno. Intente más tarde");
} catch (Exception e) {
//Error general
if (json == null) {
onLoginFailed("Error interno. Intente más tarde");
}
onLoginFailed("Login failed");
}
return valid;
}
public void loadUserView(String userType) {
if (userType != null && Constants.VENDOR.equals(userType)) {
Intent userView = new Intent(this, VendorMain.class);
startActivity(userView);
} else if (Constants.COURIER.equals(userType)) {
Intent userView = new Intent(this, CourierMain.class);
startActivity(userView);
}
}
}
row_item.xml (Bild unten)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true">
</LinearLayout>
<Button
android:text="EDITAR"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/cancel_btn" />
<Button
android:text="Cancelar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edit_btn"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/cancel_btn"
android:layout_toStartOf="@+id/cancel_btn"
android:layout_marginRight="7dp"
android:layout_marginEnd="7dp" />
<TextView
android:id="@+id/orden_title_text"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ORDEN #"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/black"
android:layout_alignBaseline="@+id/edit_btn"
android:layout_alignBottom="@+id/edit_btn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/textbox1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="7dp"
android:text=" "
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/black"
android:layout_alignBaseline="@+id/orden_title_text"
android:layout_alignBottom="@+id/orden_title_text"
android:layout_toRightOf="@+id/orden_title_text"
android:layout_marginStart="7dp" />
</RelativeLayout>
row_item.xml "What i have so far"
Wenn weitere Dateien benötigt werden, um mir zu helfen, lass es mich wissen und ich werde es hochladen.
Vielen Dank, Jungs.
Danke !!! Es klappt!!!! –