android - 单击 ListView 项目并将数据库项目 ID 传递给下一个 Activity ?

标签 android listviewitem

我有一个 Activity ,其中包含一个从 SQLiteDatabase 加载的 ListView 。我想要发生的是,当我单击其中一个项目时,我希望第二个 Activity 加载并显示项目 ID。这是我目前所拥有的:

setOnItemClickListener:

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent = new Intent(getBaseContext(),Detail.class);
            intent.putExtra("DB_ID_EXTRA",IWantThisToBeMyID);
            startActivity(intent);
        }
    }

填充 IWantThisToBeMyID:

public static String IWantThisToBeMyID = "com.example.projectloc.assignment.pictures._id";

细节类

public class Detail extends AppCompatActivity{
String passedVar = null;
private TextView passedView = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.detail);

    passedVar=getIntent().getStringExtra(Master.dbIDEx);

    passedView=(TextView)findViewById(R.id.passedText);
    passedView.setText(passedVar);
}

当我单击其中一个 ListView 项时,它会加载新 Activity 但不显示任何内容。

最佳答案

检查当你在 intent 中添加数据时,你正在添加 DB_ID_EXTRA key 名称和你的 Detail 您正在使用 Master.dbIDEx 不同的 key

的 Activity

You need to use same key name when passing data through intent

使用这个

passedVar = getIntent().getStringExtra("DB_ID_EXTRA");

代替

passedVar = getIntent().getStringExtra(Master.dbIDEx);

关于android - 单击 ListView 项目并将数据库项目 ID 传递给下一个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47978426/

相关文章:

Android Activity 转换 - Window.excludeTarget() 阻止 subview 的转换

Android:无法通过 Volley 动态添加 ListView 项目

WPF ListView - 如何以编程方式添加项目?

c# - 有没有办法将 ContextMenuStrip 分配给 ListViewItem?

C# 更改 ListView 项目/行高

android - "Toast"通过 TimerTask 发送消息

android - 在android studio中打开现有项目的问题

android - Flutter:getApplicationDocumentsDirectory() 返回 null

android - DownloadManager.ACTION_DOWNLOAD_COMPLETE 广播接收器在 Android 中多次接收相同的下载 ID,但下载状态不同

android - 根据列表项的数量动态更改 ListView 中的行高