当用户单击单个项目时,如何在 textview 中显示列表视图数据

埃蒂沙姆·哈比卜

我是 android 新手,请有人帮助我。我想在 textview 中显示 listview 的单个项目的数据,这是我的下一个活动。数据存储在 sqlite 中。请提前告诉我步骤。谢谢

数据库助手类

public class DatabaseHandler extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "DATA.db";
public static final String TABLE_NAME = "TITLE";
public static final String COL0 = "ID";
public static final String COL1 = "TODO";
public static final String COL2 = "DETAIL";

public DatabaseHandler(Context context) {
    super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER         PRIMARY KEY AUTOINCREMENT, TODO TEXT, DETAIL TEXT)";
    db.execSQL(createTable);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("drop if database is exists" + TABLE_NAME);
    onCreate(db);

}

public boolean addData(String todo, String detail) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL1, todo);
    contentValues.put(COL2, detail);

    Long result = db.insert(TABLE_NAME, null, contentValues);
    if (result == -1) {
        return false;
    } else {

        return true;
    }
}

public Cursor getListContents() {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor data = db.rawQuery(" SELECT * FROM " + TABLE_NAME, null);
    return data;
}

` 主要活动

public class MainActivity extends AppCompatActivity {
DatabaseHandler db;
Button bt_createnew;
ListView lst_1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    db = new DatabaseHandler(this);
    bt_createnew = (Button) findViewById(R.id.btn_new);
    bt_createnew.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(MainActivity.this, Main2Activity.class);
            startActivity(i);

        }
    });
    lst_1 = (ListView) findViewById(R.id.lst_one);
    lst_1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(MainActivity.this, "item " + position, Toast.LENGTH_LONG).show();
            Cursor data=db.getListContents();
            if (data.getCount()==0){
                display("ERROR","DATA NOT FOUND");
                return ;
            }

            StringBuffer buffer=new StringBuffer();
            while (data.moveToNext()){
                buffer.append("TODO "+ data.getString(1)+"\n");
                buffer.append("DETAIL: "+ data.getString(2)+"\n");
                display("All Store Data:",buffer.toString());
            }
        }
    });
    ArrayList<String> thelist = new ArrayList<>();
    Cursor data = db.getListContents();
    if (data.getCount() == 0) {
        Toast.makeText(MainActivity.this, "database is empty", Toast.LENGTH_LONG).show();
    } else while (data.moveToNext()) {
        thelist.add(data.getString(1));
        ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, thelist);
        lst_1.setAdapter(listAdapter);
    }
}
public void display(String tiltle1,String message) {
    Intent a = new Intent(MainActivity.this, detail.class);
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setCancelable(true);
    builder.setTitle(tiltle1);
    builder.setMessage(message);
    builder.show();


    startActivity(a);
}

Main2Activity 类

public class Main2Activity extends AppCompatActivity {

DatabaseHandler db;
Button bt_done;
EditText et_title,et_detail;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    db = new DatabaseHandler(this);
    et_title=(EditText)findViewById(R.id.title);


    et_detail=(EditText)findViewById(R.id.detail);

    bt_done=(Button)findViewById(R.id.btn_done);
    bt_done.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent a = new Intent(Main2Activity.this, MainActivity.class);
            startActivity(a);
            String newEntry= et_title.getText().toString();
            String entrydetail= et_detail.getText().toString();

            if (et_title.length() != 0) {
                addData(newEntry,entrydetail);
                et_title.setText("");

            }
            else{
                Toast.makeText(Main2Activity.this,"you must fill the title",Toast.LENGTH_LONG).show();
            }


            if (et_detail.length() != 0) {
                addData(newEntry,entrydetail);
                et_detail.setText("");

            }
            else{
                Toast.makeText(Main2Activity.this,"you must fill the detail",Toast.LENGTH_LONG).show();
            }


        }
    });

添加数据方法

    public void addData( String newEntry,String entrydetail){


    boolean insertdata = db.addData(newEntry,entrydetail);

    if (insertdata == true){
        Toast.makeText(Main2Activity.this, "data is added", Toast.LENGTH_LONG).show();
    }
    else {
        Toast.makeText(Main2Activity.this, "data is not added", Toast.LENGTH_LONG).show();
    }


}
约翰·乔

使用position获取数据SQLite

例子

  lst_1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> listView, View view, final int position, long id) {
                List o = (List) adapter.getItem(position);
                String month = o.getMonthAndYear();
                int id1 = Integer.parseInt(o.getID()+"");
     }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从列表视图检索数据并将其显示在textview / imageview中

来自分类Dev

当用户未连接到Android App中的互联网时如何在列表视图中显示缓存数据

来自分类Dev

单击列表视图项时更新TextView中的值

来自分类Dev

单击列表视图中的项目时如何显示数据库中的数据

来自分类Dev

recyclerview中的单个textview列表

来自分类Dev

单击TextView时显示ArrayAdapter

来自分类Dev

如何在android中多次显示单个textView?

来自分类Dev

当用户单击按钮vuejs时,如何使对象中的项目正确?

来自分类Dev

如何在TextView中显示从Facebook提取的数据

来自分类Dev

在我的 TextView 中显示许多列表视图项

来自分类Dev

如何显示从android中的sqlite数据填充的列表视图

来自分类Dev

单击列表视图项,在列表视图的数据模板中显示UI元素(图像,文本)

来自分类Dev

如何在TextView中显示<ruby>元素?

来自分类Dev

如何在TextView中显示.rtf文件?

来自分类Dev

如何在textView中显示多个值

来自分类Dev

如何在LinearLayout中显示TextView?

来自分类Dev

如何在textview中显示更新的行?

来自分类Dev

如何在TextView中显示动态位图?

来自分类Dev

如何在TextView中显示.rtf文件?

来自分类Dev

如何在LinearLayout中显示TextView?

来自分类Dev

如何在textview中显示更新的行?

来自分类Dev

如何在 ImageView 中显示 TextView 值?

来自分类Dev

如何在 TextView 中显示 hh:mm?

来自分类Dev

如何在 TextView 中逐字显示句子?

来自分类Dev

如何在 TextView 中显示 ArrayList?

来自分类Dev

当用户在AlloyUI 3.0.x中单击时,如何突出显示数据表行?

来自分类Dev

当用户单击“确定”时,如何显示UIAlertController并执行操作?

来自分类Dev

当用户单击“确定”时,如何显示UIAlertController并执行操作?

来自分类Dev

当用户单击按钮时如何显示上传的图像?

Related 相关文章

  1. 1

    从列表视图检索数据并将其显示在textview / imageview中

  2. 2

    当用户未连接到Android App中的互联网时如何在列表视图中显示缓存数据

  3. 3

    单击列表视图项时更新TextView中的值

  4. 4

    单击列表视图中的项目时如何显示数据库中的数据

  5. 5

    recyclerview中的单个textview列表

  6. 6

    单击TextView时显示ArrayAdapter

  7. 7

    如何在android中多次显示单个textView?

  8. 8

    当用户单击按钮vuejs时,如何使对象中的项目正确?

  9. 9

    如何在TextView中显示从Facebook提取的数据

  10. 10

    在我的 TextView 中显示许多列表视图项

  11. 11

    如何显示从android中的sqlite数据填充的列表视图

  12. 12

    单击列表视图项,在列表视图的数据模板中显示UI元素(图像,文本)

  13. 13

    如何在TextView中显示<ruby>元素?

  14. 14

    如何在TextView中显示.rtf文件?

  15. 15

    如何在textView中显示多个值

  16. 16

    如何在LinearLayout中显示TextView?

  17. 17

    如何在textview中显示更新的行?

  18. 18

    如何在TextView中显示动态位图?

  19. 19

    如何在TextView中显示.rtf文件?

  20. 20

    如何在LinearLayout中显示TextView?

  21. 21

    如何在textview中显示更新的行?

  22. 22

    如何在 ImageView 中显示 TextView 值?

  23. 23

    如何在 TextView 中显示 hh:mm?

  24. 24

    如何在 TextView 中逐字显示句子?

  25. 25

    如何在 TextView 中显示 ArrayList?

  26. 26

    当用户在AlloyUI 3.0.x中单击时,如何突出显示数据表行?

  27. 27

    当用户单击“确定”时,如何显示UIAlertController并执行操作?

  28. 28

    当用户单击“确定”时,如何显示UIAlertController并执行操作?

  29. 29

    当用户单击按钮时如何显示上传的图像?

热门标签

归档