0
我有一個簡單的Settingsview(通過片段),我想從數據庫(SQLite)預填充數據。我的DatabaseResults在Settingsfragment.java中,現在我不知道如何讓它們在XML中(Android:提示)。在查看中顯示數據庫結果
這是我SettingsFragment.java現在
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import eu.twenty1media.smokestop.model.Asettings;
import eu.twenty1media.smokestop.model.DatabaseHandler;
public class SettingsFragment extends Fragment {
public SettingsFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_settings, container, false);
//Initalize or create Database
final DatabaseHandler db = new DatabaseHandler(getActivity());
db.getAsettings(1);
Button mButton = (Button) rootView.findViewById(R.id.applysettings);
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
db.updateAsettings();
//db.addData(); wenn Datensatz erst geschrieben werden muss
Toast.makeText(getActivity(), "Settings saved", Toast.LENGTH_SHORT).show();
}
});
return rootView;
}
}
而這個功能getAsettings
public Asettings getAsettings(int id)
{
// 1. get reference to readable DB
SQLiteDatabase db = this.getReadableDatabase();
// 2. build query
Cursor cursor = db.query(DBNAME,
new String[]{"currency"
, "pricepp"
, "cigpp"
, "name"
, "cigperday"
, "welcome"
, "lastcig"},"id=?",
new String[] { String.valueOf(id) },
null, // e. group by
null, // f. having
null, // g. order by
null); // h. limit
// 3. if we got results get the first one
if (cursor != null)
cursor.moveToFirst();
// 4. build object
// 4. build book object
Asettings asettings = new Asettings();
//asettings.setId(Integer.parseInt(cursor.getString(1)));
asettings.setCurrency(cursor.getString(0));
asettings.setPricepp(Float.parseFloat(cursor.getString(1)));
asettings.setCigpp(Integer.parseInt(cursor.getString(2)));
asettings.setFname(cursor.getString(3));
asettings.setCigperday(Integer.parseInt(cursor.getString(4)));
asettings.setWelcome(Integer.parseInt(cursor.getString(5)));
asettings.setLastcig(Integer.parseInt(cursor.getString(6)));
Log.d("getAsettings(" + id + ")", asettings.toString());
// 5. return Asettings
return asettings;
也許任何人有一個很好的教程或我一個提示?我在Web上搜索了大約一個小時,我發現唯一的事情就是ListViewAdapter。但是我沒有一個Listview,只有6個變量放在正確的Android中:在Textboxes中提示。
我真的停留在將結果放在SettingsFragment.xml中的部分。我見過任何地方像%1 $ s的東西,但不知道它是如何工作的。 – Nick 2014-10-11 11:08:25
您不需要將任何內容放入xml文件中。 – NeilH 2014-10-13 01:08:18
你不需要把任何東西放在xml文件中。我對你想要達到的目標感到困惑。你想讓asettings的返回值出現在你的分片佈局上嗎?如果是這樣,你需要按照以上三個步驟 – NeilH 2014-10-13 01:24:21