gpt4 book ai didi

android - 尝试在 Activity 中 inflated layout 不起作用

转载 作者:行者123 更新时间:2023-11-29 17:53:34 26 4
gpt4 key购买 nike

我正在尝试将我制作的自定义 View 添加到我的适配器中。我正在尝试这样做以通过通用软件添加 View 以合并适配器。

https://github.com/commonsguy/cwac-merge

这是我尝试 inflated layout 的代码:

    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

编辑:

我的导入:

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 {

最佳答案

使用两个布局资源,而不是一个。不要 inflated layout ,然后尝试获取该布局的各个部分并单独使用它们。

或者,换句话说,您传递给 addView() 的值需要是:

  • 直接 inflate() 的结果,或者
  • 你在 Java 中使用构造函数创建的东西

关于android - 尝试在 Activity 中 inflated layout 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com