这里我有一个触发alertDialog的按钮监听器。
btn_newKharcha.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
datasource.open();
List<Partners> partners = datasource.findAll();
Partners p = new Partners();
String[] partners_arr = new String[partners.size()];
for(int i=0; i<partners.size(); i++){
p = partners.get(i);
partners_arr[i] = p.getName();
}
alertSelectPartner(v, partners_arr);
}
});
这样做,我可以传递PARTNERS的名称,但不能传递PARTNERS_ID。这是我创建的alertDialog示例。在获取整数时,我只能得到数组索引,这是没用的。
private void alertSelectPartner(View v, String[] partners_list) {
AlertDialog.Builder builder = new AlertDialog.Builder(Home.this);
builder.setTitle(R.string.select_partner);
builder.setItems(partners_list, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(getApplicationContext(),
NewKharcha.class);
intent.putExtra("partners_id", String.valueOf(which));
startActivity(intent);
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
有没有像(Hashmaps)那样的东西,以便我可以通过OnClickListener传递带有Intent的partners_id。
答案 0 :(得分:0)
intent.putExtra("partners_id", array);
Intents在引擎盖下使用了地图。使用intent.getExtras().getIntArray()