我生气了:
我正在使用API LEVEL 23,当我点击按钮时,会出现以下日志:
E/To: android.support.v7.widget.AppCompatButton{5af3e42 VFED..C.. ...PH... 161,642-469,810 #7f0c0070 app:id/btSaveAC1}
并不起作用。有什么好主意吗?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/gradiant_fons"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".ActividadesJava.Interno.Actividades">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtDesc"
android:hint="Nombre Actividad"
android:text="Actividad"
android:layout_below="@+id/txtDataInicio"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="80dp"
android:layout_height="wrap_content"
android:inputType="time"
android:ems="10"
android:id="@+id/txtHoraInici"
android:hint="Hora Inicio"
android:text="11:00"
android:layout_alignTop="@+id/txtHiraFi"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="80dp"
android:layout_height="wrap_content"
android:inputType="time"
android:ems="10"
android:id="@+id/txtHiraFi"
android:hint="Hora Fin"
android:layout_below="@+id/txtDesc"
android:layout_alignEnd="@+id/cbSabado"
android:layout_toEndOf="@+id/txtHoraInici"
android:text="12:00" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="LU"
android:id="@+id/cbLunes"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
android:checked="false"
android:textColor="#f9f7f7"
android:buttonTint="#214111"
android:textSize="12dp"
android:layout_below="@+id/txtHoraInici" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MA"
android:id="@+id/cbMartes"
android:checked="false"
android:textColor="#f9f7f7"
android:buttonTint="#214111"
android:textSize="12dp"
android:layout_alignEnd="@+id/btSaveAC1"
android:layout_below="@+id/txtHoraInici" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MI"
android:id="@+id/cbMiercoles"
android:checked="false"
android:layout_alignTop="@+id/cbMartes"
android:layout_toEndOf="@+id/cbMartes"
android:textColor="#f9f7f7"
android:buttonTint="#214111"
android:textSize="12dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JU"
android:id="@+id/cbJueves"
android:checked="false"
android:layout_alignTop="@+id/cbMiercoles"
android:layout_toEndOf="@+id/cbMiercoles"
android:textColor="#f9f7f7"
android:buttonTint="#214111"
android:textSize="12dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="VI"
android:id="@+id/cbViernes"
android:checked="false"
android:layout_alignBottom="@+id/cbJueves"
android:layout_toEndOf="@+id/cbJueves"
android:textColor="#f9f7f7"
android:buttonTint="#214111"
android:textSize="12dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SA"
android:id="@+id/cbSabado"
android:checked="false"
android:layout_alignTop="@+id/cbViernes"
android:layout_toEndOf="@+id/cbViernes"
android:textColor="#ffffff"
android:buttonTint="#214111"
android:textSize="12dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DO"
android:id="@+id/cbDomingo"
android:checked="false"
android:layout_alignTop="@+id/cbSabado"
android:layout_toEndOf="@+id/cbSabado"
android:textColor="#f9f7f7"
android:buttonTint="#214111"
android:textSize="12dp" />
<android.support.v7.widget.AppCompatButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="GUARDAR AC"
android:id="@+id/btSaveAC1"
android:textColor="#fcfafa"
android:background="@drawable/buttonborder"
android:singleLine="false"
android:layout_below="@+id/cbLunes"
android:layout_alignStart="@+id/cbLunes" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="date"
android:ems="10"
android:id="@+id/txtDataInicio"
android:text="12/12/2007"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="date"
android:ems="10"
android:id="@+id/txtDataFin"
android:layout_alignEnd="@+id/cbDomingo"
android:text="21/12/2058" />
<ListView
android:layout_width="match_parent"
android:layout_height="169dp"
android:id="@+id/lvActividades"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@+id/cbDomingo"
android:layout_alignParentEnd="true" />
Actividades.class
public class Actividades extends AppCompatActivity implements View.OnClickListener {
private Button mSaveAC;
private ArrayList<Actividad> ActivitatsArrayRecibidos = new ArrayList<Actividad>();
private AdaptadorMetasLista adapter;
private Actividad newActividad;
private EditText mtxtDesc;
private EditText mtxtHoraInici;
private EditText mtxtDataInicio;
private EditText mtxDataFin;
private EditText mtxtHoraFi;
private CheckBox mcbLunes;
private CheckBox mcbMartes;
private CheckBox mcbMiercoles;
private CheckBox mcbJueves;
private CheckBox mcbViernes;
private CheckBox mcbSabado;
private CheckBox mcbDomingo;
private ListView mListView;
private String userOBID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_actividades);
mSaveAC = (Button) findViewById(R.id.btSaveAC1);
mtxtDesc= (EditText) this.findViewById(R.id.txtDesc);
mtxtHoraInici= (EditText) this.findViewById(R.id.txtHoraInici);
mtxtDataInicio= (EditText) this.findViewById(R.id.txtDataInicio);
mtxDataFin= (EditText) this.findViewById(R.id.txtDataFin);
mtxtHoraFi= (EditText) this.findViewById(R.id.txtHiraFi);
mcbLunes= (CheckBox) this.findViewById(R.id.cbLunes);
mcbMartes= (CheckBox) this.findViewById(R.id.cbMartes);
mcbMiercoles= (CheckBox) this.findViewById(R.id.cbMiercoles);
mcbJueves= (CheckBox) this.findViewById(R.id.cbJueves);
mcbViernes= (CheckBox) this.findViewById(R.id.cbViernes);
mcbSabado= (CheckBox) this.findViewById(R.id.cbSabado);
mcbDomingo= (CheckBox) this.findViewById(R.id.cbDomingo);
mListView= (ListView) this.findViewById(R.id.lvActividades);
mSaveAC.setOnClickListener(this);
Log.e("creant inci", "AC");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_notificacions, menu);
getSupportActionBar().setDisplayUseLogoEnabled(true);
// getSupportActionBar().setIcon(R.drawable.logo);
getSupportActionBar().setDisplayShowHomeEnabled(true);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
String opcio = item.getTitle().toString(); //ITem seleccionat
Log.e("Opcio_", opcio);
if (opcio.equals("Salir")){// Lanzar Salir
Sortir();
}
else
{//Cridem a la classe Menuopcions
Log.e("MENU_", "MENU OPCIONS");
MenuOpcions nMO=new MenuOpcions();
final Context context = this; //creem un context final que será el comntexte actual
nMO.Selecció(opcio, context,this);
}
return super.onOptionsItemSelected(item);
}
public void Sortir(){
Log.e("MENU_", "SALIR");
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("¿Quieres Salir de MyTime?")
.setTitle("Advertencia")
.setCancelable(false)
.setNegativeButton("Cancelar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.setPositiveButton("Continuar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
System.exit(0);
}
});
AlertDialog alert = builder.create();
alert.show();
}
public void onClick(View v) {
if (v==mSaveAC) {
Log.e("To",v.toString() );
this.GuardarActividad();
}
}
public Boolean CargarActividades(){
final Boolean[] mValorRetorno = {false};
BackendlessUser user= Backendless.UserService.CurrentUser();
String whereClause = "propietarioId = '"+ user.getObjectId().toString() +"'";
Log.e("WC",whereClause);
final BackendlessDataQuery dataQuery = new BackendlessDataQuery();
dataQuery.setWhereClause( whereClause );
Backendless.Data.of(Actividad.class).find(dataQuery,new AsyncCallback<BackendlessCollection<Actividad>>() {
@Override
public void handleResponse(BackendlessCollection<Actividad> valors) {
System.out.println( valors.getCurrentPage().toString());
for( Actividad order : valors.getCurrentPage() )
{
System.out.println( order );
ActivitatsArrayRecibidos.add(order );
}
mValorRetorno[0]=true;
Log.e("Query","ok");
CargarTabla();
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
mValorRetorno[0]=false;
}
});
Log.e("Retorno",mValorRetorno[0].toString());
return mValorRetorno[0];
}
public void CargarTabla()
{
Log.e("Cargando tabla",Integer.toString(ActivitatsArrayRecibidos.size()));
Log.e("Cargando desc", ActivitatsArrayRecibidos.get(0).getdesc());
AdaptadorActividadesLista adt = new AdaptadorActividadesLista(this, ActivitatsArrayRecibidos);
mListView.setAdapter(adt);
}
public boolean ComprovarCampos()
{
return true;
}
public void GuardarActividad(){
if (ComprovarCampos()==true) {
Log.e("Creant Activitat ","");
BackendlessUser user= Backendless.UserService.CurrentUser();
newActividad = new Actividad();
newActividad.setactiva(true);
newActividad.setdesc(mtxtDesc.getText().toString());
newActividad.setfechafin(ConvertirFecha(mtxDataFin.getText().toString()));
newActividad.setfechainicio(ConvertirFecha(mtxtDataInicio.getText().toString()));
newActividad.sethorafin(ConvertirFecha(mtxtHoraFi.getText().toString()));
newActividad.sethorainicio(ConvertirFecha(mtxtHoraInici.getText().toString()));
newActividad.setLunes(mcbLunes.isChecked());
newActividad.setmartes(mcbMartes.isChecked());
newActividad.setmiercoles(mcbMiercoles.isChecked());
newActividad.setjueves(mcbJueves.isChecked());
newActividad.setviernes(mcbViernes.isChecked());
newActividad.setsabado(mcbSabado.isChecked());
newActividad.setdomingo(mcbDomingo.isChecked());
newActividad.setpropietarioId(user.getObjectId());
Log.e("Objecte creat ","");
// save object asynchronously
Backendless.Persistence.save( newActividad, new AsyncCallback<Actividad>() {
public void handleResponse( Actividad response )
{
Log.e("Objecte desat ","");
}
public void handleFault( BackendlessFault fault )
{
Log.e("Objecte No desat ","");
}
});
}
}
public String ConvertirFecha(String fecha){
return fecha;
}
答案 0 :(得分:0)
在XML中,您使用支持库中的按钮(widget.AppCompatButton),但在您的代码中,您尝试将其转换为常规Button。可以在XML代码中使用常规Button,也可以在Java代码中使用AppCompatButton。
看到您正在使用支持库(您正在使用AppCompatActivity),我建议您更改按钮&#39;到AppCompatButton&#39;在您的Java代码中。
答案 1 :(得分:0)
感谢队友。
我解决了。这是一个Backendless错误和日志。我没有填写第二个论点,因为没有出现raason错误。