Я пытаюсь добавить пользовательский вид, который я сделал для моего адаптера. Я пытаюсь сделать это, чтобы добавить представление для слияния адаптера через commonsware.Попытка раздуть макет в работе не работает
https://github.com/commonsguy/cwac-merge
Это мой код меня пытаются надуть макет:
LayoutInflater inflater = getLayoutInflater();
LinearLayout row = (LinearLayout) inflater.inflate(R.layout.row,
null);
TextView headerOne = (TextView) row
.findViewById(R.id.titleTextView);
TextView headerTwo = (TextView) row
.findViewById(R.id.titleTextView);
headerOne.setText("One");
headerTwo.setText("Two");
mergeAdapter.addView(headerOne);
mergeAdapter.addAdapter(myArrayAdapter);
mergeAdapter.addView(headerTwo);
mergeAdapter.addAdapter(myOtherArrayAdapter);
Это мой XML.
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-condensed"
android:text="message text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/text_gray"
android:textStyle="bold" />
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#000000" />
</LinearLayout>
Обновление: Забыл говорить о том, что моя "проблема" есть. Во-первых, это то, что я никогда не накачивал макет раньше, поэтому я не уверен, как это работает/что есть правильный способ раздувания. Во-вторых, я получаю эту ошибку:
01-20 23:18:46.427: E/AndroidRuntime(24810): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
EDIT:
Мой импорт:
import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.actionbarsherlock.app.SherlockListActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.commonsware.cwac.merge.MergeAdapter;
import com.google.gson.JsonObject;
import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.Ion;
import com.eghdk.myapp.R;
import com.eghdk.myapp.util.AppUtil;
import com.eghdk.myapp.util.DatabaseHelper;
public class MyActivity extends SherlockListActivity {
В чем проблема? Оба заголовка показывают «Один»? Вам нужно раздуть две разные переменные строки. Вы повторно используете один и тот же «ряд» для обоих заголовков. –
@ A - C обновил мой вопрос с помощью моей «проблемы» Извините! – EGHDK
То, что я указал, - это еще одна проблема, когда вы это выясните. Для этого 'CCE', я вижу в * Merge Demo *, что' Button' создается с Контекстом активности; он не завышен. Работает ли это? –