java - 为每个项目列出多个 TextView

标签 java android list

对于 Android 应用程序,我需要创建一个列表,允许我在同一个“项目”中输入不同的内容。例如,列表中的每个对象都需要不同的信息(每个都有单独的行)。具体来说,我的应用程序希望每个列表项都有以下信息:疼痛位置、治疗、疼痛类型,以及每个实例的一些其他类别。

这是我目前收集到的信息,但它只为列表中的每个项目显示一个 TextView:

PACKAGE, Imports, etc.



public class PainLoggerActivity extends Activity implements OnClickListener,   
   OnKeyListener {
/** Called when the activity is first created. */
    EditText txtItem;
    Button btnAdd;
    ListView listItems;
    ArrayList <String> painItems;
    ArrayAdapter<String> aa;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    txtItem = (EditText)findViewById(R.id.txtItem);
    btnAdd = (Button)findViewById(R.id.btnAdd);
    listItems = (ListView)findViewById(R.id.listItems);

    btnAdd.setOnClickListener(this);
    txtItem.setOnKeyListener(this);
    painItems = new ArrayList<String>();
    aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 
    painItems);
    listItems.setAdapter(aa);

    }
private void addItem(String item){
    if(item.length() > 0){
        this.painItems.add(item);
        this.aa.notifyDataSetChanged();
        this.txtItem.setText("");       
    }

}

@Override
public void onClick(View v) {

    if(v == this.btnAdd)
        this.addItem(this.txtItem.getText().toString());
}
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {

    if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode == 
              KeyEvent.KEYCODE_DPAD_CENTER){
        this.addItem(this.txtItem.getText().toString());
    }
    return false;

}

*一些示例代码将不胜感激,所以我知道如何实现建议 - 毫无疑问,我仍然是初学者 *

最佳答案

当您的 Adapter 布局使用布局“simple_list_item_1”时,不可能有多个 TextView 项目...这就是为什么他们称之为“simple - item - 1”。

如果您希望每行总共有 2 个 TextView,您可以使用“simple_list_item_2”,但实际上我建议您使用 SimpleAdapter 并创建您自己的行条目布局文件。它更加灵活,您可以包括尽可能多的文本项、图像、复选框或您能想到的任何其他内容,而不是在一行中仅包含几个文本项。

深思......

搜索 SimpleAdapter 示例以了解如何实现它。没什么大不了的,您会发现这是一份“不断给予的礼物”。

关于java - 为每个项目列出多个 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6482244/

相关文章:

python - 在 Python 中,如何从一个或多个列表中删除重复项?

python - 为什么列表中允许使用尾随逗号?

java - 如何以编程方式为主/详细信息流程设置“下一个”和“上一个”按钮

android - Android 交叉编译 v4l2-ctl

java - 如何在 JSF 数据表的相应行中放置错误消息?

android - 禁用时 ActionBar 中的半透明图标 : only on my phone?

Android 从 Azure Blob 存储下载导致文件无效

python - 有没有办法将输入变成列表?

java - 不需要命令行参数的程序是否需要 String args[] 参数?

java - 我可以使用 spring @Autowired 依赖注入(inject)来构建一个类的多个实例吗?