我有一個線性佈局,其中包含三個列表視圖和三個按鈕。我已經自定義了列表視圖元素。我只是想要,如果有人觸摸列表視圖的元素,那麼相應的文本視圖應該作爲一個選取框生效。在android中的觸摸事件後啓動選取框
線性主要佈局是如下 -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<ListView
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:textSize="16dip" />
<Button
android:id="@+id/more_button1"
android:layout_width="130dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="More" >
</Button>
<ListView
android:id="@+id/list2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:textSize="16dip" />
<Button
android:id="@+id/more_button2"
android:layout_width="130dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="More" >
</Button>
<ListView
android:id="@+id/list3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:textSize="16dip" />
<Button
android:id="@+id/more_button3"
android:layout_width="130dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="More" >
</Button>
</LinearLayout>
定製列表項如下(LIST_ITEM_1,LIST_ITEM_2,LIST_ITEM_3) -
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:freezesText="true"
android:lines="1"
android:marqueeRepeatLimit="marquee_forever"
android:padding="10dp"
android:scrollHorizontally="true"
android:scrollbarAlwaysDrawVerticalTrack="false"
android:singleLine="true"
android:textSize="20sp" >
</TextView>
,活性是如下 -
public class MarqueeActivity extends Activity {
ListView lv1 = null;
ListView lv2 = null;
ListView lv3 = null;
String s1[] = {"Hello This is a long Text which will help in tsting", "How", "Are", "You"};
String s2[] = {"I", "Am", "Fine"};
String s3[] = {"Welcome", "In", "New", "World"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv1 = (ListView) findViewById(R.id.list1);
lv2 = (ListView) findViewById(R.id.list2);
lv3 = (ListView) findViewById(R.id.list3);
lv1.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item_1, s1));
lv2.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item_2, s2));
lv3.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item_3, s3));
}
}
對於例如如果活動開始,然後有人觸摸第一個列表視圖中的第一個元素(你好,這是一個長文本,這將有助於測試),那麼它應該啓動字幕。
在此先感謝!
能否請你解釋如何做到這一點?我使用onItemClick(AdapterView > arg0,View view,int position,long id){}方法將一個onItemClickListener實現爲列表視圖(稱爲lv1)。現在我知道哪個元素被點擊了,但是如何在特定元素上啓動marquee? (我想我需要在元素上使用方法setMarqueeRepeatLimit())。 – Comet
我試着設置該參數但不工作。我認爲還應該使用其他的東西。 – AndroGeek