Android ListView 将文本添加到行尾

Posted

技术标签:

【中文标题】Android ListView 将文本添加到行尾【英文标题】:Android ListView add text to the end of row 【发布时间】:2020-08-02 22:15:57 【问题描述】:

我的 ListView 会显示用户的排名、用户名和他们的分数,例如:1. John 25 我想显示分数,就像附件示例中显示的那样。

【问题讨论】:

可能会有所帮助javatpoint.com/android-custom-listview 【参考方案1】:

您可以使用自定义列表适配器和自定义布局 xml 来实现此目的 试试这个:-

MainActivity.java

public class MainActivity extends AppCompatActivity 

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ListView listView = findViewById(R.id.list_view);
    listView.setAdapter(new NameRankAdapter(this));


NameRankAdapter.java

public class NameRankAdapter extends BaseAdapter 
private Context context;

public NameRankAdapter(Context context) 
    this.context = context;


@Override
public int getCount() 
    return 20;


@Override
public Object getItem(int i) 
    return i;


@Override
public long getItemId(int i) 
    return i;


@Override
public View getView(int i, View view, ViewGroup viewGroup) 
    if (view == null) 
        view = LayoutInflater.from(context).inflate(R.layout.list_item, null);
    
    TextView name = view.findViewById(R.id.name);
    name.setText("Name " + i);
    TextView rank = view.findViewById(R.id.rank);
    rank.setText(String.valueOf(i));
    return view;


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context=".MainActivity">

<ListView
    android:id="@+id/list_view"
    android:layout_
    android:layout_ />

</FrameLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="horizontal">

<TextView
    android:layout_
    android:layout_
    android:layout_gravity="left"
    android:text="name"
    android:id="@+id/name"
    android:textSize="30sp"
    android:textColor="@android:color/black"/>

<TextView
    android:layout_
    android:layout_
    android:layout_gravity="right"
    android:text="name"
    android:textSize="25sp"
    android:id="@+id/rank"
    android:textColor="@android:color/black"/>
</FrameLayout>

【讨论】:

【参考方案2】:

您需要使用CustomAdapter 而不是默认适配器。请参考这个其他答案Custom Adapter for List View

基本上,您创建自己的项目布局:您希望列表中的每个项目如何显示(可以是用户名的 TextView 和分数的另一个 TextView)。

然后在Adapter的getView方法中设置每一个的值。

【讨论】:

以上是关于Android ListView 将文本添加到行尾的主要内容,如果未能解决你的问题,请参考以下文章

UITextview 光标移动到行尾

Intellij IDEA 移动光标到行尾或行首的快捷键是啥?

匹配后删除到行尾,保留不匹配的行

将光标定位到行尾

vim 中将光标从行头移到行尾的快捷键是啥

Eclipse快捷方式到行尾和行尾