我想要一个可点击的文字视图列表,这是我有的xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/marque_scrolling_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:padding="16dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Create a Marquee (Scrolling Text) in Android Using TextView. Android Marquee (Scrolling Text) Tutorial with Example"
android:textSize="24sp" />
</LinearLayout>
希望所有可点击的项目列表
这是我使用的代码:
TextView marque1 = (TextView) this.findViewById(R.id.marque_scrolling_text);
marque1.setSelected(true);
marque1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
System.out.println("dhgjgf jfgsfjhsgfsjfgdfjh");
}
});
这可能吗?
答案 0 :(得分:0)
如果您不能使用ListView,那么您可以自己动态创建和添加TextView!
我假设你有一个你想要显示为TextViews的字符串数组:
String[] strings = {"TextA", "TextB"};
获取将包含所有TextView的布局:
LinearLayout layout = (LinearLayout) findViewById(R.id.listLayout);
// you will need to set an id for the layout in the xml
然后遍历列表,为每个String创建一个新的TextView,添加onClickListener并随意执行任何操作(如更改文本颜色),然后将其添加到Layout:
for(String s : strings)
{
TextView newTextView = new TextView(this);
newTextView.setText(s);
newTextView.setTextColor(#0066ff); // for example
newTextView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
System.out.println("dhgjgf jfgsfjhsgfsjfgdfjh");
}
});
layout.addView(newTextView);
}