aktualisierenRecycler Ansicht funktioniert nicht
Ansicht ist nun geladen, nachdem ich dies implementiert: -
holder.time.setText(user.getTime());
zu
holder.time.setText(Integer.toString(user.getTime()));
aber ich habe immer noch diese Nachricht in Log: -
E/RecyclerView: No adapter attached; skipping layout
keine Ahnung?
Ich habe volley verwendet, um Daten vom Server zu erhalten und dann die Daten in der Recycler-Ansicht mit Cardview anzuzeigen. Aber es stürzt die App mit der Fehlermeldung ab, dass der Adapter nicht angehängt ist. Obwohl ich den Adapter angebracht habe. Ich kann das Problem nicht finden. Bitte Hilfe. Datei
Haupt Layout-
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recycle"/>
Haupt Java Klasse
public class Leaderboard extends AppCompatActivity {
private static final String URL = "URL";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_leaderboard);
final RecyclerView recycler = (RecyclerView) findViewById(R.id.recycle);
recycler.setLayoutManager(new LinearLayoutManager(Leaderboard.this));
StringRequest request = new StringRequest(URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("TAG",response);
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
User[] users = gson.fromJson(response, User[].class);
recycler.setAdapter(new RecyclerviewAdapter(Leaderboard.this,users));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Leaderboard.this, "Something Went Wrong!", Toast.LENGTH_SHORT).show();
}
});
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(request);
}
}
Cardview
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:textSize="24dp"
android:padding="8dp"
android:textStyle="bold"
android:text="1."
android:gravity="center"
android:id="@+id/rank"/>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:textSize="24dp"
android:padding="8dp"
android:textStyle="bold"
android:text="Ravi Bhardwaj"
android:id="@+id/name"/>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:textSize="24dp"
android:padding="8dp"
android:textStyle="bold"
android:gravity="center"
android:text="00:04:10"
android:id="@+id/time"/>
</LinearLayout>
RecyclerviewAdapter
public class RecyclerviewAdapter extends RecyclerView.Adapter<RecyclerviewAdapter.RecyclerViewHolder> {
private Context context;
private User[] data;
public RecyclerviewAdapter(Context context, User[] data){
this.context = context;
this.data = data;
}
@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.one_row_leaderboard,parent,false);
return new RecyclerViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerViewHolder holder, int position) {
User user = data[position];
holder.name.setText(user.getName());
holder.time.setText(user.getTime());
// holder.rank.setText(""+data[position+1]);
}
@Override
public int getItemCount() {
return data.length;
}
public class RecyclerViewHolder extends RecyclerView.ViewHolder{
TextView rank,name,time;
public RecyclerViewHolder(View itemView) {
super(itemView);
rank = (TextView) itemView.findViewById(R.id.rank);
name = (TextView) itemView.findViewById(R.id.name);
time = (TextView) itemView.findViewById(R.id.time);
}
}
}
Meine Modal Klasse
public class User {
@SerializedName("name")
@Expose
private String name;
@SerializedName("time")
@Expose
private Integer time;
@SerializedName("id")
@Expose
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getTime() {
return time;
}
public void setTime(Integer time) {
this.time = time;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
Fehler I Get
E/RecyclerView: No adapter attached; skipping layout
10-21 21:38:15.160 6718-6718/com.ravibhardwaj.kbcmaster I/TAG: [{"name":"sm","time":240,"id":"19760377672"},{"name":"Ravi Bhardwaj","time":246,"id":"1976037352655019"},{"name":"Ravi Bhard","time":356,"id":"1976037352655566"},{"name":"Ravi Bhard","time":555,"id":"1976037352655566"}]
10-21 21:38:15.255 6718-6718/com.ravibhardwaj.kbcmaster W/ResourceType: No package identifier when getting value for resource number 0x000000f0
10-21 21:38:15.259 6718-6718/com.ravibhardwaj.kbcmaster E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ravibhardwaj.kbcmaster, PID: 6718
android.content.res.Resources$NotFoundException: String resource ID #0xf0
at android.content.res.HwResources.getText(HwResources.java:446)
at android.widget.TextView.setText(TextView.java:4660)
at com.ravibhardwaj.kbcmaster.RecyclerviewAdapter.onBindViewHolder(RecyclerviewAdapter.java:34)
at com.ravibhardwaj.kbcmaster.RecyclerviewAdapter.onBindViewHolder(RecyclerviewAdapter.java:14)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6356)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6389)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5335)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5598)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5440)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5436)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2224)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1551)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1511)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:595)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3583)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3312)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3844)
at android.view.View.layout(View.java:17694)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17694)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1766)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1610)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1519)
at android.view.View.layout(View.java:17694)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17694)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1766)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1610)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1519)
at android.view.View.layout(View.java:17694)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:774)
at android.view.View.layout(View.java:17694)
at android.view.ViewGroup.layout(ViewGroup.java:5631)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2513)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2228)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1366)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6768)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:926)
at android.view.Choreographer.doCallbacks(Choreographer.java:735)
at android.view.Choreographer.doFrame(Choreographer.java:667)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:912)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6577)
at java.lang.reflect.Method.invoke(Native Method)
10-21 21:38:15.259 6718-6718/com.ravibhardwaj.kbcmaster E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
10-21 21:38:15.272 6718-6718/com.ravibhardwaj.kbcmaster I/Process: Sending signal. PID: 6718 SIG: 9
Ich kann das Problem hier nicht finden. Bitte helfen
Das Problem einer fehlenden Ressource verwandt ist, schwer, genau zu sagen, welche, aber es in Zeile fehlt: RecyclerviewAdapter.java:34 - Sie versuchen, einen Textwert zu setzen, aber die Ressource, die Sie Einstellung ist nicht vorhanden. – Booger