我是一个初学者,想要一些相当简单的东西:我在ListView中有Debt对象,从SQLite数据库调用,只是想在点击它时显示有关Debt对象的更多细节。非常简单,但我在这里搜索并找到了复杂的解决方案,例如将债务ID放入Extra并在下一个活动中查询具有ID的债务的数据库以获取所有详细信息(其字段)。或者使用Serializeable。我试过了,都奏效了。但请告诉我:为什么不简单地这样做:
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, ...
}
...
}
与我在这里找到的解决方案相比,它工作得很好并且非常容易,但是出于任何原因这是不好的做法吗?我很确定,这是不好的做法:)请告诉我最佳实践,以达到我的目的。