1

私は初心者で、かなり単純なものが必要です。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, ...
    }
    ...
}

それは完璧に機能し、私がここで見つけた解決策と比較して非常に簡単ですが、それは何らかの理由で悪い習慣ですか?私はかなり確信しています、それは悪い習慣です:)私の目的のためのベストプラクティスを教えてください。

4

0 に答える 0