Meu projeto apresenta um erro quando executo a activity que utilizo dos recursos do Recyclerview e Cardview, neste utilizo dados estáticos para popular o recyclerview. No log, está aparecendo este mensagem:
FATAL EXCEPTION: main
Process: com.l3bsoft.android.meatende, PID: 2483
android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:299)
at android.support.v7.widget.ResourcesWrapper.getText(ResourcesWrapper.java:52)
at android.widget.TextView.setText(TextView.java:4132)
at com.l3bsoft.android.meatende.adapter.PedidoAdapter.onBindViewHolder(PedidoAdapter.java:40)
at com.l3bsoft.android.meatende.adapter.PedidoAdapter.onBindViewHolder(PedidoAdapter.java:18)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5471)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5504)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4741)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1390)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1353)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3028)
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:2625)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615)
at android.view.View.measure(View.java:17547)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1173)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(`
Minhas classes do projeto são estas :
public class PedidoAdapter extends RecyclerView.Adapter<PedidoAdapter.ViewHolder> {
//private ArrayList<PedidoPojo> pedidos;
private List<PedidoPojo> pedidos;
// ArrayList<PedidoPojo> pedidos
public PedidoAdapter(List<PedidoPojo> pedidos) {
this.pedidos = pedidos;
}
@Override
public PedidoAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.pedido_card, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(PedidoAdapter.ViewHolder viewHolder, int position) {
PedidoPojo pedidoPojo = pedidos.get(position);
viewHolder.tv_orderTitle.setText(pedidoPojo.getItemPedido());
viewHolder.tv_orderTable.setText(pedidoPojo.getMesaPedido());
viewHolder.tv_orderQty.setText(pedidoPojo.getQtdPedido());
}
@Override
public int getItemCount() {
return pedidos.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView tv_orderTitle, tv_orderTable, tv_orderQty;
public ViewHolder(View view) {
super(view);
tv_orderTitle = (TextView) view.findViewById(R.id.orderTitle);
tv_orderTable = (TextView) view.findViewById(R.id.orderTable);
tv_orderQty = (TextView) view.findViewById(R.id.orderQty);
}
}
}
public class PedidosActivity extends AppCompatActivity {
private List<PedidoPojo> listaDePedidos = new ArrayList<>();
private RecyclerView recyclerView;
private PedidoAdapter pAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pedidos);
addActionBar();
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
pAdapter = new PedidoAdapter(listaDePedidos);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(pAdapter);
inicializaDadosPedidos();
}
public void addActionBar() {
Toolbar mToolbar;
mToolbar = (Toolbar) findViewById(R.id.tb_main);
mToolbar.setTitle(R.string.title_activity_pedidos);
mToolbar.setSubtitle("seu atendimento movil");
mToolbar.setLogo(R.mipmap.ic_launcher);
setSupportActionBar(mToolbar);
setupActionBar();
}
/**
* Set up the {@link Toolbar}, if the API is available.
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
//getActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//getSupportActionBar().setHomeButtonEnabled(true);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu_pedidos, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// This ID represents the Home or Up button. In the case of this
// activity, the Up button is shown. Use NavUtils to allow users
// to navigate up one level in the application structure. For
// more details, see the Navigation pattern on Android Design:
//
// http://developer.android.com/design/patterns/navigation.html#up-vs-back
//
NavUtils.navigateUpFromSameTask(this);
return true;
case R.id.ab_menu_atualizar :
Toast.makeText(this, "Atualizando . . .", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
private void inicializaDadosPedidos() {
//listaDePedidos = new ArrayList<>();
listaDePedidos.add(new PedidoPojo("Macarronada Pameggiana", "Mesa A1", 1));
listaDePedidos.add(new PedidoPojo("Arroz de Maria Isavel", "Mesa A1", 1));
listaDePedidos.add(new PedidoPojo("Àgua mineral wasf", "Mesa A1", 2));
listaDePedidos.add(new PedidoPojo("Cerveja Skol", "Mesa A1", 3));
pAdapter.notifyDataSetChanged();
}
}
public class PedidoPojo {
private String itemPedido;
private String mesaPedido;
private int qtdPedido;
public PedidoPojo(String itemPedido, String mesaPedido, int qtdPedido) {
this.itemPedido = itemPedido;
this.mesaPedido = mesaPedido;
this.qtdPedido = qtdPedido;
}
public String getItemPedido() {
return itemPedido;
}
public void setItemPedido(String itemPedido) {
this.itemPedido = itemPedido;
}
public String getMesaPedido() {
return mesaPedido;
}
public void setMesaPedido(String mesaPedido) {
this.mesaPedido = mesaPedido;
}
public int getQtdPedido() {
return qtdPedido;
}
public void setQtdPedido(int qtdPedido) {
this.qtdPedido = qtdPedido;
}
}