我是一个初学者,想要一些相当简单的东西:我在 ListView 中有 Debt 对象,从 SQLite 数据库调用,并且只是想在单击时显示有关 Debt 对象的更多详细信息。非常简单,但我在这里搜索并找到了复杂的解决方案,例如将 debtID 放入 Extra 并在下一个活动中使用 ID 查询数据库以获取所有详细信息(其字段)。或使用可序列化。我试过了,都有效。但请告诉我:为什么不简单地这样做:
public class MainActivity extends ListActivity {
public static Debt selectedDebt = null;
...
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
selectedDebt = (Debt) getListView().getItemAtPosition(position);
Intent intent = new Intent(v.getContext(), ShowDebtActivity.class);
startActivity(intent);
}
...
}
和
public class ShowDebtActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_debt);
TextView amountTextView = (TextView) findViewById(R.id.amount);
amountTextView.setText("Amount: " + MainActivity.selectedDebt.getAmount());
//... for all details like amount, date, place, ...
}
...
}
与我在这里找到的解决方案相比,它工作得很好并且超级容易,但是出于某种原因,这是不好的做法吗?我很确定,这是不好的做法 :) 请告诉我出于我的目的的最佳做法。