データテーブルのヘッダーセルの範囲のテキストを変更する必要があります。
これを達成するためには、これらのセルに割り当てられたビューIDを取得して保存する必要があるため、後でそれらのセルビューを識別するために使用できます。
しかし、ちょうど膨張したセルビューのIDを取得しようとすると、常に-1が返されます。android view.getId()は-1を返します
@Override
public View getView(final int row, final int column, View converView, ViewGroup parent) {
if (converView == null) {
converView = inflater.inflate(getLayoutResource(row, column), parent, false);
if (row == -1){
int viewId = converView.getId();
setHeaderId(viewId, column+1);
}
}
...
}
converView.getId()は-1を返し、上記コードのビューIDが既にコードのデバッグ時に割り当てられたと見ることができるされているという事実にもかかわらず、:ここ
は私のサンプルコードです。例えば、私はデバッグ中に以下を見ることができます: converview = LinearLayout(id = 830042440680)
私は上記のコードで-1(= NO_ID)を得ていますか? AndroidのLayoutInflaterのドキュメントから
これはすばらしい答えです。ありがとうございました!私は、xml inflaterによって割り当てられた内部ビューidがアクセス可能でなく、手動で再度割り当てる必要があることを認識しませんでした。私は、実行時にヘッダーセルのタイトルを更新するタスクを正常に完了しました。 –
フル解決策を見る:[http://stackoverflow.com/questions/15065467] –
私はあなたを助けてうれしいです –