0

アクティビティはテーブルを動的に構築します。すべての行に OnClickListener を追加したいと思います。私はこのようにやっています:

TableLayout table = (TableLayout) findViewById(R.id.body);
for (final Document d : result) {
    TableRow row;
    if (getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
        row = (TableRow) LayoutInflater.from(
                LastDocumentsActivity.this).inflate(
                R.layout.last_documents_body_row_portrait, null);

        ((TextView) row.findViewById(R.id.date)).setText(d
                .getDate());
        ((TextView) row.findViewById(R.id.number)).setText(d
                .getNumber());
        ((TextView) row.findViewById(R.id.value_netto)).setText(d
                .getValueNetto().toString());
        ((TextView) row.findViewById(R.id.currency)).setText(d
                .getCurrency());

        table.addView(row);
    } else {
        row = (TableRow) LayoutInflater.from(
                LastDocumentsActivity.this).inflate(
                R.layout.last_documents_body_row_landscape, null);

        ((TextView) row.findViewById(R.id.number)).setText(d
                .getNumber());
        ((TextView) row.findViewById(R.id.date)).setText(d
                .getDate());
        ((TextView) row.findViewById(R.id.value_netto)).setText(d
                .getValueNetto().toString());
        ((TextView) row.findViewById(R.id.value_brutto)).setText(d
                .getValueBrutto().toString());
        ((TextView) row.findViewById(R.id.currency)).setText(d
                .getCurrency());
        ((TextView) row.findViewById(R.id.status)).setText(d
                .getStatus());
        ((TextView) row.findViewById(R.id.responsible_person))
                .setText(d.getPersonResponsible());
        ((TextView) row.findViewById(R.id.orderId)).setText(Integer
                .toString(d.getId()));

        table.addView(row);
    }
    row.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.i("info", "OnClickListener works.");
            Intent i = new Intent(LastDocumentsActivity.this,
                    DocumentDetailsActivity.class);
            i.putExtra("document_id", d.id);
            startActivity(i);
        }
    });
}

エミュレーター (3,2" QVGA (ADP2) (320x480:mdpi) Android 2.2) では完全に動作しますが、私の電話では動作しません。 (Huawei Ascend Y300、Android 4.1.1) 画面は同じように見えます (離れて)解決策から)、OnClickListener だけが機能しません.何が原因で、どうすれば修正できますか?

4

0 に答える 0