0

今日の朝、Eclipse でいくつかの問題があり、R が再生成されないという一般的なバグがありました。私がそれを解決した後、私はたくさんの新しいパッケージを書いたので、最後の作業コミットに戻すことはオプションではなく、ここで私がそうである17:00です...

これが私のコードです:

@Override
protected void onCreate(Bundle savedInstanceState) {
    mActivity = this;
    super.onCreate(savedInstanceState);
    contentView = getLayoutInflater().inflate(R.layout.android_messenger_conversation, null);
    setContentView(contentView);
}


@Override
protected void onStart() {
    super.onStart();
    Bundle extras = getIntent().getExtras();
    if(extras != null){
        Log.i("ConversationActivity/onStart","extras is not null");
        String extra = extras.getString(MainActivity.CONVERSATION_EXTRA);
        Log.i("ConversationActivity/onStart","got extra gave value: "+extra);
        if(extra!=withWhoWeAreChatting){
            withWhoWeAreChatting = extra;
        }
        ArrayList<ConversationInfo> arrayList = Conversation.getConversationWith(getApplicationContext(), extra);

        contentView = getLayoutInflater().inflate(R.layout.android_messenger_conversation, null);
        LinearLayout linearLayout = (LinearLayout) contentView.findViewById(R.id.android_messgener_conversation_LinearLayout);
        for(int i = arrayList.size()-1 ; i >= 0 ; i--){
            Log.i("ConversationActivity/onStart","Doing for loop: "+i);
            ConversationInfo conversationInfo = arrayList.get(i);
            if(conversationInfo.getProtocol()!=null){
                RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.android_messenger_inbox_message, null);
                TextView inbox_message = (TextView)relativeLayout.findViewById(R.id.inbox_message);
                inbox_message.setText(conversationInfo.getBody());

                linearLayout.addView(relativeLayout);
            }
            else{
                RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.android_messenger_sent_message, null);
                TextView inbox_message = (TextView)relativeLayout.findViewById(R.id.sentMessage);
                inbox_message.setText(conversationInfo.getBody());

                linearLayout.addView(relativeLayout);
            }
        }
        setContentView(contentView);
    }
}

私のコメントのすぐ上の最後にある setContentView(contentView) は何も変更していません。ログで、ループ内のすべてがエラーなしで実行されることを確認しました。

何か案は?

あなたがヨーロッパに住んでいるなら、ポーランドのビールをメールで送ることができます:)

乾杯

4

1 に答える 1

1

皆様にはご迷惑をおかけして申し訳ありません:)

私が言ったように、私は朝からここで何も変えていません。しかし、スクロールビュー用にxmlファイルを変更しました。

これから:

        <LinearLayout
        android:id="@+id/android_messgener_conversation_LinearLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

    </LinearLayout>

これに:

        <LinearLayout
        android:id="@+id/android_messgener_conversation_LinearLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

    </LinearLayout>

これを元に戻すと、私の問題が修正されました:)今ではほとんど魅力のように機能します:)

またまたご無沙汰しております!

そして、ユーザーuser1455909に乾杯 - 何らかのバグが発生した場合、クリーンアップと再構築が私の基本です:D

于 2013-07-01T15:58:46.530 に答える