SugarOrm数据显示垃圾

时间:2015-04-25 11:35:02

标签: java android sugarorm

当我显示显示垃圾数据的数据时,我使用listview来显示数据。

public class MainActivity extends ActionBarActivity {

    Button btnSave, btnDelete;
    EditText title, edition;
    ListView mListView;
    ArrayAdapter<Book> adapter;

    Book book = new Book();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        title = (EditText) findViewById(R.id.editTextTitle);
        edition = (EditText) findViewById(R.id.editTextEdition);

        btnSave = (Button) findViewById(R.id.buttonSave);
        btnDelete = (Button) findViewById(R.id.buttonDelete);

        mListView = (ListView) findViewById(R.id.listView);

        // List<Book> list= Select.from(Book.class).list();
        List<Book> list = Book.listAll(Book.class);

        adapter = new ArrayAdapter<Book>(MainActivity.this, android.R.layout.simple_list_item_1, list);
        mListView.setAdapter(adapter);

        Toast.makeText(getApplicationContext(), "" + list, Toast.LENGTH_LONG).show();


        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                book = new Book(title.getText().toString(), edition.getText().toString());
                book.save();

                Toast.makeText(getApplicationContext(), "" + book, Toast.LENGTH_LONG).show();
            }
        });

        btnDelete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Book book = Book.findById(Book.class, (long) 1);
                book.delete();
            }
        });


    }

}

Book.java

public class Book  extends SugarRecord<Book>{

    String title;
    String Edition;

    public Book()
    {

    }
    public Book(String title,String Edition)
    {
        this.title=title;
        this.Edition=Edition;
    }
}

当我删除数据而不是删除时,但显示它时显示垃圾数据如何显示正确的数据?

2 个答案:

答案 0 :(得分:0)

您需要创建自定义适配器以呈现图书对象中的值。最简单的选择是在Book类中实现toString()方法。那应该解决这个问题。

答案 1 :(得分:-1)

你必须使用toString()方法才能删除juck值,确保插入单个值,因为toString()只能返回单个值

import com.orm.SugarRecord;       // package


public class Book  extends SugarRecord{     /// inheritance

String title;                   //var

public  Book()                  //constructor
{
}

public  Book(String title)      //method
{
this.title=title;                 //  this keyword refer current object
}


 public String toString()            // method
 {
 return title;                    //string return value
 }

如果您有任何问题,可以观看此视频     https://youtu.be/lv4QanVZfs4