Android 数据库自定义列表视图开放给多个活动

Android database custom listview open to multiple activities

我发现这个应用程序使用包含多个表的数据库。这是一个列表视图,可以节省收入和支出,但它们处于不同的活动中。有谁知道如何制作这种列表视图?

这很简单。首先您需要创建 class 扩展 listActivity,如下所示: public class 季节扩展 ListActivity {

private database db;
private String[] Name;
private String[] Teedad;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.seasone);
    db = new database(this);


    refresher();
    setListAdapter(new listview ());

}

和 Xml 像这样:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/main_txt_layout"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

  <ListView
      android:id="@android:id/list"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_alignParentTop="true" >
  </ListView>

  </RelativeLayout>

请注意android:id="@android:id/list" 这很重要。 好的。 现在我们为每一行的自定义布局创建 class。首先创建 class 并扩展 ArrayAdapter .

  class listview extends ArrayAdapter<String>{

    public listview (){
        super(seasones.this,R.layout.raw_seasone,Name);

    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater in = getLayoutInflater();
        View row = in.inflate(R.layout.raw_seasone, parent,false);

        TextView name = (TextView) row.findViewById(R.id.name_season);
        TextView teedad = (TextView) row.findViewById(R.id.teedad_dastan);

        name.setText(Name [position]);
        teedad.setText(Teedad [position]);



        return (row);
    }

为此 activity 我们创建一个这样的布局文件 :

   <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

   <TextView
      android:id="@+id/teedad_dastan"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:layout_marginLeft="18dp"
       android:layout_marginTop="26dp"
       android:text="Small Text"
       android:textAppearance="?android:attr/textAppearanceSmall" />

   <TextView
       android:id="@+id/name_season"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/teedad_dastan"
       android:layout_alignParentRight="true"
       android:layout_marginRight="22dp"
       android:text="Large Text"
       android:textAppearance="?android:attr/textAppearanceLarge" />

我用的是refresher();从数据库填充数组的方法。并使用 setListAdapter(new listview ());用自定义布局填充每一行。