1

我是一个初学者,想要一些相当简单的东西:我在 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, ...
    }
    ...
}

与我在这里找到的解决方案相比,它工作得很好并且超级容易,但是出于某种原因,这是不好的做法吗?我很确定,这是不好的做法 :) 请告诉我出于我的目的的最佳做法。

4

0 回答 0