私は初心者で、かなり単純なものが必要です。SQLiteデータベースから呼び出されたDebtオブジェクトがListViewにあり、クリックされたときにDebtオブジェクトの詳細を表示したいだけです。非常に単純ですが、ここを検索して、debtIDを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, ...
}
...
}
それは完璧に機能し、私がここで見つけた解決策と比較して非常に簡単ですが、それは何らかの理由で悪い習慣ですか?私はかなり確信しています、それは悪い習慣です:)私の目的のためのベストプラクティスを教えてください。