1
C#을 사용하여 Xamarin의 텍스트 뷰, 이미지 및 단추가있는 목록보기가 있습니다. "친구"listview xamarin 행의 TextView 및 단추 #
이<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="378.2dp"
android:id="@+id/listView1" />
</LinearLayout>
이 목록보기의 각 행에 대해 axml이다라고 : 소위 "ROW1"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="81.1dp"
android:id="@+id/linearLayout1">
<ImageView
android:src="@drawable/Icon"
android:layout_width="91.7dp"
android:layout_height="match_parent"
android:id="@+id/imageView5" />
<TextView
android:text="Text"
android:layout_width="184.9dp"
android:layout_height="35.6dp"
android:id="@+id/textView1"
android:gravity="center"
android:textSize="20dp" />
<Button
android:text="Chat"
android:layout_width="62.3dp"
android:layout_height="37.8dp"
android:id="@+id/chat1"
android:layout_marginTop="32dp" />
</LinearLayout>
</LinearLayout>
이리스트 뷰에 대한 axml은 다음과 같습니다 버튼을 클릭하여 나는 새로운 레이아웃을 열어야합니다
이리스트 뷰에 대한 활동 "FriendsActivity"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
namespace EJIK_Network
{
[Activity (Label = "FriendsActivity")]
public class FriendsActivity : Activity
{
ListView listview;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Friends);
listview = FindViewById<ListView> (Resource.Id.listView1);
View rootInAnotherLayout = this.LayoutInflater.Inflate (Resource.Layout.Row1,null);
Button chat = rootInAnotherLayout.FindViewById<Button> (Resource.Id.chat1);
chat.Click += (sender, e) => {
var CA = new Intent(this, typeof(ChatingActivity));
StartActivity (CA);
};
}
}
}
대구 실행하지만 어라고 내가 채팅 버튼을 클릭했을 때 새로운 레이아웃을 열지 못했습니다. "ChatingActivity"에서 정의 했습니까?
이 코드에는 버그가 있습니다. chat.OnClick 이벤트는 여러 번 등록됩니다 (스크롤하는 동안 GetView가 여러 번 같은보기에서 호출되기 때문에) – JamesF