Gibt es ein XML-Tag, das ich in einer Layoutdatei verwenden kann, die ListView.addHeaderView()
entspricht?Gibt es ein XML-Tag, das "ListView.addHeaderView" entspricht?
13
A
Antwort
18
Ich schrieb eine einfache ListView
wie Ihre Anforderung.
Declare benutzerdefinierte Attribut in
attrs.xml
invalue
Ordner:<resources> <declare-styleable name="HeaderListViewFromXML"> <attr name="headerView" format="reference"/> </declare-styleable> </resources>
erstellen
HeaderListViewFromXML
Klasse erweitertListView
public class HeaderListViewFromXML extends ListView { private int headerId; public HeaderListViewFromXML(Context context) { this(context, null); } public HeaderListViewFromXML(Context context, AttributeSet attrs) { this(context, attrs, 0); } public HeaderListViewFromXML(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.HeaderListViewFromXML, defStyle, defStyle); try { headerId = a.getResourceId(R.styleable.HeaderListViewFromXML_headerView, View.NO_ID); if (headerId != View.NO_ID) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View header = inflater.inflate(headerId, null); addHeaderView(header); } } finally { a.recycle(); } } }
deklarieren benutzerdefinierte
HeaderListViewFromXML
inlayout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.rewidget.HeaderListViewFromXML android:id="@+id/listWithHeader" android:layout_width="fill_parent" android:layout_height="150dp" android:layout_marginTop="60dp" android:background="#00FF00" // custom attribute. Point to layout in header1.xml app:headerView="@layout/header1" /> </RelativeLayout>
In Aktivität verwenden wie normale
ListView
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView list = (ListView) findViewById(R.id.listWithHeader); String[] values = new String[] { "Android", "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2" }; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values); list.setAdapter(adapter); } }
+0
Nifty! Danke für die Post. –
Verwandte Themen
- 1. Gibt es ein S4, das unlist() entspricht?
- 2. Gibt es ein LINQPad, das einer DataContext-Klasse entspricht?
- 3. Gibt es ein "Präprozessor" -Symbol, das dem/unsafe-Flag entspricht?
- 4. Gibt es ein C#, das der PHP-Funktion `parse_str` entspricht?
- 5. Gibt es ein CSS, das 'align = "center"' entspricht?
- 6. Gibt es ein iPhone, das dem NSTokenField-Steuerelement entspricht?
- 7. Gibt es ein OO Perl, das einer Schnittstelle entspricht?
- 8. Gibt es ein BAPI, das der Transaktion CKMM entspricht?
- 9. Gibt es ein R, das dem Bash-Befehl mehr entspricht?
- 10. listView.addHeaderView() Geben "Nullzeiger Ausnahme"
- 11. Gibt es etwas, das Sonar für Perl entspricht?
- 12. Gibt es einen Vim, der Bash '! $' Entspricht?
- 13. Gibt es in C# ein Perl, das dem Koaleszenzoperator null (??) entspricht?
- 14. Gibt es ein JUnit, das dem Testcase-Attribut von NUnit entspricht?
- 15. Gibt es ein Oracle, das den Verbindungsnamen-Parametern von Application Server für SQL Server entspricht?
- 16. Gibt es ein Angular 2, das dem $ location.absURL() von Angular1 entspricht?
- 17. Gibt es ein Oracle, das dem OUTPUT INSERTED von SQL Server entspricht?
- 18. Gibt es ein Werkzeug für das Regressionsmodell?
- 19. Gibt es ein Entwicklungstool für WSO2 DAS?
- 20. Gibt es ein Tool, das ein SVN-Repository dokumentiert?
- 21. Gibt es eine Bequemlichkeitsmethode, um ein Prädikat zu erstellen, das prüft, ob ein Feld einem gegebenen Wert entspricht?
- 22. Gibt es eine Java-Bibliothek entspricht Dateibefehl in Unix
- 23. Gibt es eine Ruby-Methode, die drop_while für Hashes entspricht?
- 24. Gibt es einen Vordergrund, der dem Hintergrundbild in CSS entspricht?
- 25. Gibt es ein Speicherleck?
- 26. Gibt es eine scala entspricht Pythons Liste Verständnis
- 27. Gibt es ein Formularübermittlungsmuster?
- 28. Gibt es eine nicht veraltete Methode, die didRotateFromInterfaceOrientation entspricht
- 29. Gibt es für Python-Programmierer etwas, das dem CPAN von Perl entspricht?
- 30. Gibt es in Excel eine .NET-Methode, die NETWORKDAYS entspricht?
Ich denke, es ist nicht in Originallistenansicht ist vorhanden. Eine mögliche Lösung besteht darin, 'ListView' zu erweitern und ein benutzerdefiniertes Attribut zu erstellen, um die Header-Ansicht zu setzen. –
@Yul Kann ich benutzerdefinierte Attribute erstellen, die in einer XML-Layoutdatei verwendet werden können? Ich werde das weiter untersuchen müssen ... –
[** Hier **] (http://kevindion.com/2011/01/custom-xml-attributes-for-android-widgets/) buddy –