2016-01-31 83 views
0

我有一个SQLite数据库,其中有2个表(即将更多)我试图从这些表中的一个填充微调,并且无法找到目标资源一个特定的表格。如何从SQLite数据库表填充Android微调表

所以我目前的情况是我不得不在表'菜单项'和'菜单类别'...我有'菜单项'中的微调,我想填充菜单类别中的项目。

这里是我的菜单项活动

public class SettingsMenuItem extends AppCompatActivity { 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_settings_menu_item); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    countRecords(); 
    readRecords(); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show(); 
     } 
    }); 

    Button buttonCreateLocation = (Button) findViewById(R.id.btnAdd); 
    buttonCreateLocation.setOnClickListener(new OnClickListenerCreateMenuItem()); 
} 

public void countRecords() { 

    int recordCount = new TableControllerMenuItem(this).count(); 
    TextView textViewRecordCount = (TextView) findViewById(R.id.textViewRecordCount); 
    textViewRecordCount.setText(recordCount + " records found."); 

} 

public void readRecords() { 

    LinearLayout linearLayoutRecords = (LinearLayout) findViewById(R.id.linearLayoutRecords); 
    linearLayoutRecords.removeAllViews(); 

    List<ObjectMenuItem> menuitem = new TableControllerMenuItem(this).read(); 

    if (menuitem.size() > 0) { 

     for (ObjectMenuItem obj : menuitem) { 

      int id = obj.id; 
      String menuitemName = obj.name; 
      String menuitemDescription = obj.description; 
      Float menuitemPrice = obj.price; 
      Float menuitemCost = obj.cost; 

      String textViewContents = menuitemName; 

      TextView textViewMenuItem= new TextView(this); 
      textViewMenuItem.setPadding(0, 10, 0, 10); 
      textViewMenuItem.setText(textViewContents); 
      textViewMenuItem.setTag(Integer.toString(id)); 
      textViewMenuItem.setTextSize(20.0f); 

      textViewMenuItem.setOnLongClickListener(new OnLongClickListenerMenuItem()); 


      linearLayoutRecords.addView(textViewMenuItem); 
     } 

    } 

    else { 

     TextView locationItem = new TextView(this); 
     locationItem.setPadding(8, 8, 8, 8); 
     locationItem.setText("No records yet."); 

     linearLayoutRecords.addView(locationItem); 
    } 

} 

这里是我的菜单项XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<EditText 
    android:id="@+id/editTextItemName" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:hint="Item Name" 
    android:singleLine="true" > 

    <requestFocus /> 
</EditText> 

<EditText 
    android:id="@+id/editTextItemDesc" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/editTextItemName" 
    android:hint="Item Description" 
    android:singleLine="true" /> 

<EditText 
    android:id="@+id/editTextItemPrice" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/editTextItemDesc" 
    android:hint="Item Price" 
    android:singleLine="true" 
    android:inputType="numberDecimal"/> 

<EditText 
    android:id="@+id/editTextItemCost" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/editTextItemPrice" 
    android:hint="Item Cost" 
    android:singleLine="true" 
    android:inputType="numberDecimal"/> 

<Spinner 
    android:id="@+id/spinnerCategory" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/editTextItemCost"></Spinner> 

回答

0

从数据库读取的数据,并将相关数据保存到一个数组。然后使用该数组来填充和ArrayAdapter,最后将该ArrayAdapter设置为微调器的适配器。

希望这会有所帮助!

+0

我有一个readRecords列表,我已经设置了显示表格的内容,我可以将它转换为微调吗? –