将 android 文本视图更改为列表视图
Posted
技术标签:
【中文标题】将 android 文本视图更改为列表视图【英文标题】:Changing an android text view to a list view 【发布时间】:2015-10-23 19:54:00 【问题描述】:我正在使用来自我的内容提供者的文本视图填充:
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.exercises);
resultView= (TextView) findViewById(R.id.res);
和
@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor)
cursor.moveToFirst();
StringBuilder res=new StringBuilder();
while (!cursor.isAfterLast())
res.append("\n"+cursor.getString(cursor.getColumnIndex("id"))+ "-"+ cursor.getString(cursor.getColumnIndex("name")));
cursor.moveToNext();
resultView.setText(res);
我想调整它以在列表视图中显示每个项目。我尝试了以下方法:
public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor)
cursor.moveToFirst();
ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.exercises, listItems);
ListView mylist=(ListView) findViewById(R.id.res);
for(int i = 0; i<3; i++)
String temp= " : " + i;
listItems.add(temp);
mylist.setAdapter(adapter);
这是我的 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<Button
android:id="@+id/btnRetrieve"
android:layout_
android:layout_
android:onClick="onClickDisplayNames"
android:text="Display exercises"
android:textColor="@color/blue"
android:textSize="40sp"/>
<ListView
android:id="@+id/res"
android:layout_
android:layout_>
</ListView>
</LinearLayout>
我在最后一部分使用虚拟数据来尝试让它作为示例工作。由于某种原因,这不会加载任何东西。创建在文本视图中显示信息的列表视图的最简单方法是什么?
【问题讨论】:
请同时发布您的 xml 布局 这个布局是什么.. R.layout.exercises 【参考方案1】:您在将任何内容添加到列表之前设置您的适配器。
把你的代码改成这个。
public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor)
cursor.moveToFirst();
ArrayList<String> listItems = new ArrayList<String>();
ListView mylist=(ListView) findViewById(R.id.res);
for(int i = 0; i<3; i++)
String temp= " : " + i;
listItems.add(temp);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.exercises, listItems);
mylist.setAdapter(adapter);
最简单的方法是像这样设置你的适配器。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, listItems);
【讨论】:
以上是关于将 android 文本视图更改为列表视图的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 TextEditor 的文本更改为 SwiftUI 视图设置动画?