如何将数据从 sqlite 数据库传递到另一个活动?

     2023-04-19     73

关键词:

【中文标题】如何将数据从 sqlite 数据库传递到另一个活动?【英文标题】:How do I pass data from sqlite database to another activity? 【发布时间】:2016-11-13 10:46:19 【问题描述】:

我有一个包含列 id,eng,kurd,ar 的数据库,并从中填充了一个列表视图,该列表视图仅显示数据库中的 eng。当用户单击列表视图中的项目时,我想传递具有相同 id 的 eng,kurd,ar,但是当我单击一个项目时,我的应用程序崩溃,但其他一切正常,非其他类的[适配器,sqliteopenhelper]

MainActivity.class

package com.rawa.rawadict;

import android.content.Intent;
import android.database.Cursor;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity 
    Adapter adapter;
    ArrayList<Item> myList = new ArrayList<Item>();
    ListView myListView;
    Databasehelper myDbHelper = new Databasehelper(this);
    String engRes,kurdRes,arRes;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try 
            myDbHelper.createDatabase();
            myDbHelper.openDatabase();
         catch (IOException e) 

            throw new Error("Unable to create database");
        
        Cursor cursor = myDbHelper.QueryData("select * from zankodict");
        if (cursor != null) 
            if (cursor.moveToFirst()) 
                do 
                    Item itemm = new Item();
                    itemm.setId(cursor.getString(0));
                    itemm.setEng(cursor.getString(1));
                    myList.add(itemm);
                 while (cursor.moveToNext());
            
        
        adapter = new Adapter(this, R.layout.single_row, myList);
        myListView = (ListView) findViewById(R.id.lView);
        myListView.setAdapter(adapter);
        adapter.notifyDataSetChanged();

    myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
            TextView text_id = (TextView) view.findViewById(R.id.tid);
            String sel_id = text_id.getText().toString();
            Cursor cursor = myDbHelper.QueryData("SELECT * FROM zankodict WHERE id =" + sel_id);
            if (cursor != null) 
                if (cursor.moveToFirst()) 
                    do 
                        engRes = cursor.getString(1);
                        kurdRes=cursor.getString(2);
                        arRes= cursor.getString(3);
                     while (cursor.moveToNext());
                
            
            // create intent to start another activity
            Intent intent = new Intent(MainActivity.this, Result.class);
            // add the selected text item to our intent.
            Bundle extras = new Bundle();
            extras.putString("eng",engRes);
            extras.putString("kurd",kurdRes);
            extras.putString("ar",arRes);
            intent.putExtras(extras);
            startActivity(intent);
        
    ) ;


    

Result.class

package com.rawa.rawadict;


import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

import java.io.IOException;
import java.util.ArrayList;

public class Result extends AppCompatActivity 
    TextView etView2,ktView2,atView2;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result_view);
        etView2 = (TextView) findViewById(R.id.etextView2);
        ktView2 = (TextView) findViewById(R.id.ktextView2);
        atView2 = (TextView) findViewById(R.id.atextView2);

        Intent intent = getIntent();
        Bundle extras = intent.getExtras();
        String enG = extras.getString("eng");
        String kurD = extras.getString("kurd");
        String aR = extras.getString("ar");
        etView2.setText(enG);
        etView2.setText(kurD);
        etView2.setText(aR);
        
    

我想将 Bundle 传递给 Result.class

【问题讨论】:

您说它崩溃了,请添加您的 Logcat 输出,以便我们看到崩溃错误。 兄弟它给了我这个错误错误类型3错误:活动类不存在 ***.com/questions/20915266/… 我也尝试过此链接中的技术,但它不起作用。 【参考方案1】:

将数据从活动传递到活动,特别是从您的数据库传递数据的最佳方法是传递一个 (id) 作为额外的意图,然后当您到达目标活动时,提取它并使用它来查询您的数据库身份证。

这将减少您必须通过您的意图实例的数据量。

但是,如果您只想传递 3 个项目,则可以使用 Intent Extras 而不是这样的 Bundle:

Intent intent = new Intent(MainActivity.this, Result.class);
intent.putExtra("eng",engRes);
intent.putExtra"kurd",kurdRes);
intent.putExtra("ar",arRes);

startActivity(intent);

在您的结果活动中提取它;

Intent intent = getIntent();
String enG = intent.getExtras().getString("eng");
String kurD = intent.getExtras().getString("kurd");
String aR = intent.getExtras().getString("ar");

我希望这会有所帮助,祝你好运!

【讨论】:

他以捆绑的形式通过;不直接作为额外的 本质上是一样的。这不会解决任何错误 @Eenvincible 这和我做过的一样吗?错误日志是什么意思,因为我是android开发的新手。谢谢 当您的应用程序崩溃时,您的 IDE 控制台中会打印出一个原因!那是错误日志; 顺便说一句,我以为你还有别的想法。

我如何将数据从一个活动传递到另一个活动

】我如何将数据从一个活动传递到另一个活动【英文标题】:howipassdatafromoneactivitytoanotheractivity【发布时间】:2015-12-3120:26:37【问题描述】:packagecom.example.assignmentone;importjava.util.ArrayList;importandroid.R.integer;importandroid.app.Activity;impor... 查看详情

如何将数据从main活动传递到另一个活动(代码片段)

我想将用户输入的名称和号码传递给我的Android应用程序中的FakeRinger类。我在putExtra()的意图中使用了fab.setOnClickListener方法。这是我在MainActivity中使用的代码publicclassMainActivityextendsAppCompatActivitypublicstaticfinalStringLOG_TAG="MainActivit 查看详情

将活动之间的数据从列表视图传递到另一个活动

】将活动之间的数据从列表视图传递到另一个活动【英文标题】:Passingdatabetweenactivitiesfromlistviewtoanotheractivity【发布时间】:2013-08-1412:19:05【问题描述】:我正在尝试将数据从这个主要活动传递到另一个活动我成功地在活动之间... 查看详情

如何将价值从 recyclerview 项目传递到另一个活动

】如何将价值从recyclerview项目传递到另一个活动【英文标题】:Howtopassvaluefromrecyclerviewitemtoanotheractivity【发布时间】:2015-11-2106:43:19【问题描述】:当我们单击recyclerview项目时,我试图将recyclerview项目中的值传递给另一个活动。... 查看详情

如何将数据从一个活动传递到android中的另一个活动片段? [复制]

】如何将数据从一个活动传递到android中的另一个活动片段?[复制]【英文标题】:Howtopassdatafromoneactivitytootheractivityfragmentinandroid?[duplicate]【发布时间】:2018-04-2306:52:40【问题描述】:我已经将一些键和值数据从一个活动传递到另... 查看详情

如何使用数据库将大量数据从一个活动传递到android中的另一个活动

】如何使用数据库将大量数据从一个活动传递到android中的另一个活动【英文标题】:Howtopasslargesetofdatasfromoneactivitytoanotheractivityinandroidusingdatabase【发布时间】:2021-01-2023:46:38【问题描述】:我有一个json文件,其中包含大量数据... 查看详情

使用捆绑将数据从一个活动传递到另一个活动 - 不在第二个活动中显示

】使用捆绑将数据从一个活动传递到另一个活动-不在第二个活动中显示【英文标题】:Passingdatafromoneactivitytoanotherusingbundle-notdisplayinginsecondactivity【发布时间】:2013-03-0422:07:16【问题描述】:我目前正在尝试获取通过RESTAPI调用获... 查看详情

将 listView 数据从一个活动发送到另一个活动

...发布时间】:2019-07-3101:06:08【问题描述】:我试图弄清楚如何从listView中获取数据,将其存储在一个数组中,并能够在另一个活动中访问该数据数组。我会为此做一个意图并将其作为额外的传递吗?我四处寻找,但没有得到明确... 查看详情

如何将整数从一个活动传递到另一个活动?

】如何将整数从一个活动传递到另一个活动?【英文标题】:HowtopassintegerfromoneActivitytoanother?【发布时间】:2011-10-2719:05:03【问题描述】:我想将一个整数的新值从一个活动传递到另一个活动。即:活动B包含一个integer[]pics=R.drawa... 查看详情

如何将数据从一个 Activity 中的 ListView 传递到另一个 Activity 上的 TextView?

】如何将数据从一个Activity中的ListView传递到另一个Activity上的TextView?【英文标题】:HowtopassdatafromListViewinoneActivitytoaTextViewwhichisfoundonanotherActivity?【发布时间】:2018-11-1510:55:34【问题描述】:我设法将文本添加到ListView,但我想... 查看详情

如何将用户定义的对象从一个活动传递到另一个活动[重复]

】如何将用户定义的对象从一个活动传递到另一个活动[重复]【英文标题】:howtopassauserdefinedobjectfromoneactivitytoanother[duplicate]【发布时间】:2012-10-1122:35:31【问题描述】:可能重复:HowtopassobjectfromoneactivitytoanotherinAndroid我想将一... 查看详情

如何将 LatLng 的数组列表从一个活动传递到另一个活动

】如何将LatLng的数组列表从一个活动传递到另一个活动【英文标题】:HowtopassanarrylistofLatLngfromoneactivitytoanother【发布时间】:2015-09-0509:41:26【问题描述】:我想通过按钮单击将ArrayList的LatLng变量从一个Activity传递给另一个。String... 查看详情

如何将不可打包的对象从活动传递到另一个活动?

】如何将不可打包的对象从活动传递到另一个活动?【英文标题】:Howtopassnonparcelableobjectstofromactivitytoanotheractivity?【发布时间】:2016-01-0521:19:04【问题描述】:我有两个对象从两个不同的类实例化,两个类都没有实现parcelable或s... 查看详情

将列表从一个活动传递到另一个活动

...tivitytoanother【发布时间】:2012-07-0515:32:45【问题描述】:如何通过Intent的putExtra方法将ArrayList等集合从一个Activity传递到另一个集合?谁能帮助我,因为我想将List&lt;String&gt;从一个Activity传递给另一个?【问题讨论】:发帖... 查看详情

如何将值从一个活动中的片段传递到另一个活动? [复制]

】如何将值从一个活动中的片段传递到另一个活动?[复制]【英文标题】:Howtopassvaluesfromfragmentsinoneactivitytoanotheractivity?[duplicate]【发布时间】:2021-08-0202:23:47【问题描述】:我正在一个有两个活动的应用程序中做一个小测验。一... 查看详情

如何将 ArrayList<Custom Object> 从一个活动传递到另一个活动? [复制]

】如何将ArrayList<CustomObject>从一个活动传递到另一个活动?[复制]【英文标题】:HowtopassArrayList<CustomeObject>fromoneactivitytoanother?[duplicate]【发布时间】:2014-02-1014:05:37【问题描述】:我想将FollowArrayList从一个活动发送到另... 查看详情

如何将数据从一个片段传输到另一个片段android

】如何将数据从一个片段传输到另一个片段android【英文标题】:HowcanItransferdatafromonefragmenttoanotherfragmentandroid【发布时间】:2013-10-2010:06:56【问题描述】:我知道的一种方法是通过活动。我们可以将数据从片段发送到活动,将活... 查看详情

如何将数据从一个单元格传递到另一个视图?

】如何将数据从一个单元格传递到另一个视图?【英文标题】:Howtopassthedatafromonecelltoanotherview?【发布时间】:2011-09-2013:10:39【问题描述】:我创建了一个应用程序,它通过JSON解析将数据加载到UITableview中。现在,当用户单击一... 查看详情