Ich benutze eine Listview, wie ich dynamisch auffüllen muss. Es ist wie FAQs, das Element zeigt die Frage und sobald wir auf das Element klicken, sollte das bestimmte Element erweitert werden und eine Textansicht zeigen. Ich kann ExpandableListView nicht verwenden, da es nur einen TextView innerhalb des ListView-Elements gibt.So erweitern Sie eine ListView mit einem einzelnen TextView innerhalb des Elements
Item 1 v
----------------------
Item 2 v
----------------------
Item 3 v
Also, wenn der Benutzer klickt auf Punkt 2:
Item 1 v
----------------------
Item 2 ^
This is also a dynamic text but can be put in a single textview.
----------------------
Item 3 v
----------------------
Bitte um Hilfe!
Das habe ich bis jetzt bekommen!
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = inflater.inflate(R.layout.layout_faq_item, parent, false);
}
FAQObject faq = faqList.get(position);
convertView.setTag(faq);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FAQObject faq = (FAQObject) view.getTag();
if(faq.isExpanded()) {
view.findViewById(R.id.text_faq_answer_title).setVisibility(View.GONE);
view.findViewById(R.id.text_faq_answer_content).setVisibility(View.GONE);
((TextView)view.findViewById(R.id.text_faq_question)).setCompoundDrawablesWithIntrinsicBounds(0,0,
android.R.drawable.arrow_down_float, 0);
faq.setExpanded(false);
}else{
((TextView)view.findViewById(R.id.text_faq_question)).setText(faq.getQuestion());
((TextView)view.findViewById(R.id.text_faq_answer_content)).setText(faq.getAnswer());
view.findViewById(R.id.text_faq_answer_title).setVisibility(View.VISIBLE);
view.findViewById(R.id.text_faq_answer_content).setVisibility(View.VISIBLE);
((TextView)view.findViewById(R.id.text_faq_question)).setCompoundDrawablesWithIntrinsicBounds(0,0,
android.R.drawable.arrow_up_float, 0);
faq.setExpanded(true);
}
}
});
return convertView;
}
Die Liste wird nicht auf die volle Länge des Textes erweitert ..!
Sie sollten den Code zeigen Sie so weit haben, und zeigen, was Sie versucht haben. – Bryan