Julian G.
- Forum-Beiträge: 21
02.02.2017, 20:01:27 via Website
02.02.2017 20:01:27 via Website
Hallo zusammen,
wie der Titel schon sagt, zeigt meine App nach einem Update nur noch sporadisch Daten an.
Bis vor dem Update der Entwicklungsumgebung wurde nach dem Klicken auf einen Punkt der gewünschte Inhalt eingeschoben (expandable RecyclerView). Ich habe keine Ahnung, woran es liegen könnte. Ich vermute aber mal, dass es am Adapter liegt, da ja sporadisch Daten angezeigt werden.
Ich hoffe irgendwer hat eine Idee. Ich danke euch schonmal.
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
public class SatzungAdapter extends RecyclerView.Adapter<SatzungAdapter.ViewHolder> implements View.OnClickListener {
private ArrayList<String> mDataset;
private int expandedPosition = -1;
public String Regeln[] = {HIER STEHEN DIE INHALTE};
public static class ViewHolder extends RecyclerView.ViewHolder {
// each data item is just a string in this case
public TextView txtHeader;
public TextView txtFooter;
LinearLayout ExpandArea;
public TextView txtExpand;
public ViewHolder(View v) {
super(v);
txtHeader = (TextView) v.findViewById(R.id.firstLine);
ExpandArea = (LinearLayout) itemView.findViewById(R.id.ExpandArea);
txtExpand = (TextView) v.findViewById(R.id.ExpandTxt);
}
}
// Provide a suitable constructor (depends on the kind of dataset)
public SatzungAdapter(ArrayList<String> myDataset) {
mDataset = myDataset;
}
// Create new views (invoked by the layout manager)
@Override
public SatzungAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.satzung_text, parent, false);
// set the view's size, margins, paddings and layout parameters
ViewHolder vh = new ViewHolder(v);
vh.itemView.setOnClickListener(SatzungAdapter.this);
vh.itemView.setTag(vh);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(SatzungAdapter.ViewHolder holder, int position) {
// - get element from your dataset at this position
// - replace the contents of the view with that element
final String name = mDataset.get(position);
holder.txtHeader.setText(mDataset.get(position));
if (position == expandedPosition) {
holder.ExpandArea.setVisibility(View.VISIBLE);
} else {
holder.ExpandArea.setVisibility(View.GONE);
}
//holder.txtFooter.setText("Footer: " + mDataset.get(position));
}
@Override
public void onClick(View view) {
ViewHolder holder = (ViewHolder) view.getTag();
String theString = mDataset.get(holder.getPosition());
// Check for an expanded view, collapse if you find one
if (expandedPosition >= 0) {
int prev = expandedPosition;
notifyItemChanged(prev);
}
// Set the current position to "expanded"
expandedPosition = holder.getPosition();
notifyItemChanged(expandedPosition);
TextView iv = (TextView) view.findViewById(R.id.ExpandTxt);
iv.setText(Regeln[expandedPosition]);
}
@Override
public int getItemCount() {
return mDataset.size();
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.