0
これは非常に基本的だと確信していますが、私のイメージ(アイコン)がテキストの左側に表示されない理由はわかりません。私はこのようなものを持っています (icon) Text
。これは私が左drawablesを使って試したものですが、私にとってはうまくいかないでしょう。設定イメージ閉じるTextView - Xamarin Android
listItem.axml
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="63"
android:orientation="vertical"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingTop="7dp"
android:paddingBottom="7dp">
<TextView
android:text="Event Name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textStyle="bold"
android:textColor="#000"
android:gravity="center_vertical"
android:padding="2dp"
android:textSize="18sp"/>
活動
textIcon = FindViewById<TextView>(Resource.Id.textView1);
textIcon.SetCompoundDrawablesWithIntrinsicBounds(Resource.Drawable.Icon, 0, 0, 0);
アダプターとホルダー
public class Fragment : SupportFragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your fragment here
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
RecyclerView recyclerView = inflater.Inflate(Resource.Layout.Fragment, container, false) as RecyclerView;
SetUpRecyclerView(recyclerView);
return recyclerView;
}
private void SetUpRecyclerView(RecyclerView recyclerView)
{
recyclerView.SetLayoutManager(new LinearLayoutManager(recyclerView.Context));
var Adapter = new EventAdapter(Collection.GetData());
recyclerView.SetAdapter(Adapter);
}
public class Adapter : RecyclerView.Adapter
{
private JavaList<MyData> AllData;
public EventAdapter(JavaList<MyData> AllData)
{
this.AllData = AllData;
}
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
MyHolder hold = holder as MyHolder;
hold.Name.Text = AllData[position].Name;
}
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
{
View v = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.ListItem, parent, false);
MyHolder holder = new MyHolder(v);
return holder;
}
public override int ItemCount
{
get { return AllData.Size(); }
}
}
}
public class MyHolder : RecyclerView.ViewHolder
{
public TextView Name;
public EventHolder(View itemView) : base(itemView)
{
Name = itemView.FindViewById<TextView>(Resource.Id.textView1);
}
}
リスト項目は、アクティビティページ上recyclerView上のテキストを表示しているアダプタために通知します。だから私はアイコンをtextView1にバインドしようとしています。アクティビティページにリスト項目が表示されます。) –
アイコンを更新した後にnotifydatasetchanged()を試しましたか? –
私はそれを試していませんでした。どのように私はその機能でアイコンを更新するのですか? –