单击时将ListView项移交给下一个活动 - 最佳实践

时间:2012-10-13 01:32:54

标签: listview

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

与我在这里找到的解决方案相比,它工作得很好并且非常容易,但是出于任何原因这是不好的做法吗?我很确定,这是不好的做法:)请告诉我最佳实践,以达到我的目的。

0 个答案:

没有答案