Hai irgendjemand bitte sagen Sie mir gibt es eine Möglichkeit, ein DataGrid in Android zu erstellen, wenn ja meine bitte helfen Sie mir mit einigen Code-Schnipsel, oder geben Sie einige verwandte Web-URLs.Wie erstellt man eine DataGrid-Anzeige in Android?
8
A
Antwort
9
Book.java
package com.dgrid;
public class Book {
String title;
String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/bookListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="#ffffff"
/>
</AbsoluteLayout>
row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget0"
android:orientation="horizontal"
android:layout_toRightOf="@android:id/icon"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<com.dgrid.ListItemView
android:id="@+id/title"
android:layout_height="wrap_content"
android:layout_width="150px"
android:text="Title"
android:textSize="10sp"
android:textStyle="bold"
android:textColor="#ff000000"
/>
ListItemView.java
package com.dgrid;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
public class ListItemView extends TextView {
private boolean isHeader = false;
private Paint linePaint;
public ListItemView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public ListItemView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public ListItemView(Context context) {
super(context);
init();
}
public void init(){
linePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
linePaint.setColor(Color.parseColor("#000000"));
}
public boolean isHeader() {
return isHeader;
}
public void setHeader(boolean isHeader) {
this.isHeader = isHeader;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(isHeader){
canvas.drawColor(Color.parseColor("#AAFFFF99"));
}
canvas.drawLine(0, 0, getMeasuredWidth(), 0,linePaint);
canvas.drawLine(0, getMeasuredHeight(), getMeasuredWidth(), getMeasuredHeight(),linePaint);
canvas.drawLine(0,0, 0, getMeasuredHeight(),linePaint);
}
}
DatagridActivity.java
package com.dgrid;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class DatagridActivity extends Activity {
Context mContext;
Book[] books = {new Book("Title","Author"),new Book("Clean Code","Uncle Bob"),new Book("Face 2.0","Allen Cooper")};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.main);
ListView bookListView =(ListView)findViewById(R.id.bookListView);
LitemItemAdapter mcqListAdapter = new LitemItemAdapter(this,R.layout.row,books);
bookListView.setAdapter(mcqListAdapter);
}
class LitemItemAdapter extends ArrayAdapter<Book>{
public LitemItemAdapter(Context context, int textViewResourceId,
Book[] objects) {
super(context, textViewResourceId, objects);
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
Book item = books[position];
if (item != null) {
ListItemView titleView = (ListItemView) v.findViewById(R.id.title);
ListItemView authorView = (ListItemView) v.findViewById(R.id.author);
if(position == 0){
titleView.setHeader(true);
authorView.setHeader(true);
}
if(titleView != null){
titleView.setText(item.getTitle());
}
if(authorView != null){
authorView.setText(item.getAuthor());
}
}
return v;
}
}
}
+0
Haben Sie diesen Code nicht ausprobiert, aber ich denke, Sie könnten ohne Widget0, um die Textansicht zu wickeln. Ist der Titel auch auf 150px fest codiert? Was passiert wenn es ein langer Titel für eine Zeile ist, wird es nicht mehr wie ein Datagrid aussehen, nein? –
Verwandte Themen
- 1. android - wie man eine wiederverwendbare Funktion erstellt?
- 2. Wie erstellt man eine Android App ohne Android Studio?
- 3. Wie erstellt man LinphoneConferenceParams in Android?
- 4. Wie man Button in Android dynamisch erstellt?
- 5. Wie erstellt man "schwebende TextViews" in Android?
- 6. Wie erstellt man eine horizontale Karussellansicht in Android?
- 7. Wie erstellt man eine "Multi-Setup-Assistentenleiste" in Android?
- 8. Wie erstellt man eine Datei für andere Anwendungen in Android?
- 9. Wie erstellt man eine kreisförmige Listenansicht von Artikeln in Android?
- 10. Wie erstellt man eine Regal-ähnliche Ansicht in Android?
- 11. Wie erstellt man eine Unterebene im Navigationsmenü in Android?
- 12. Wie erstellt man eine Folienlayout-Animation in Android?
- 13. Wie erstellt man eine dynamische Tabelle von Daten in Android?
- 14. Wie erstellt man eine neue Tabelle programmatisch in Android/Java?
- 15. Wie erstellt man eine Alarm-Box in Android Alternative Geschenke?
- 16. Wie erstellt man SQLite-Datenbank in Android
- 17. Wie erstellt man Ladedialoge in Android?
- 18. Wie erstellt man ein Balkendiagramm in Android?
- 19. Wie erstellt man eine Binärdatei
- 20. Wie erstellt man eine Metaklasse?
- 21. Wie erstellt man eine Projektvorlage
- 22. Wie erstellt man eine Konstruktorfunktion?
- 23. Wie erstellt man eine Aktionsleiste auf Xamarin Android?
- 24. android - Wie erstellt man die XML-ID?
- 25. wie man Liste und Unterliste -android erstellt?
- 26. Wie erstellt man eine Unterklasse in C#?
- 27. Wie erstellt man eine Seite in PHP?
- 28. Wie erstellt man eine Schleifenantwort in JSON?
- 29. Wie erstellt man eine Bean in ActionScript?
- 30. Wie erstellt man eine ConstantInt in LLVM?
Könnten Sie bitte erläutern, was Sie mit DataGrid meinen? – emmby
Dies ist eine Gimme-Teh-Codez-Frage, versuchen Sie Code zuerst nach allem, was Sie dafür bezahlt werden, .. und dann, wenn Sie Probleme haben, fragen Sie sie hier. – Reno
Hier ist eine Android DataGrid-Komponente: http://www.androidjetpack.com/Home/AndroidDataGrid – user2453876