Java ListView弹出消息
我试图根据ListView中单击的项目动态生成消息。我已经尝试了我在下面发布的代码。我想让它给出一条与单击的项目相关的文本消息Java ListView弹出消息,java,android,android-listview,Java,Android,Android Listview,我试图根据ListView中单击的项目动态生成消息。我已经尝试了我在下面发布的代码。我想让它给出一条与单击的项目相关的文本消息 int messageId = getResources().getIdentifier(item,"strings",getPackageName()); String popUpMessage = getString(messageId); PopUp.setMessag
int messageId = getResources().getIdentifier(item,"strings",getPackageName());
String popUpMessage = getString(messageId);
PopUp.setMessage(popUpMessage);
PopUp.show();
通过此代码,您将如何知道单击了哪个项目 对listview使用itemclick listener,然后您将获得单击的项目
使用int position参数获取单击的项目。需要以下步骤
ListView listView=(ListView)findViewById(R.id.lv);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
builder.setMessage((字符串)parent.getItemAtPosition(位置))代码>
如果listView包含多个内容(如包含标题和消息的行),并且您希望检索消息并将其设置为对话框,则上行假设listView只包含一个内容。那就这样做吧
View rowView=(View)parent.getItemAtPosition(position);
TextView messageView=(TextView)rowView.findViewById(R.id.row);
builder.setMessage(messageView.getText().toString());
我希望这能回答这个问题。您可以通过消息在ListView中的位置来显示消息的值。我在onitemclick侦听器中有这个。要获取字符串的名称,我使用stringitem=(string)drinkList.getItemAtPosition(position)但是当我点击某个东西时,它崩溃了。我可以将标题设置为单击的项,但无法设置自定义消息。getItemAtPosition(position)`是否有一种方法可以从strings.xml之类的资源而不是ListView中获取字符串项。因为我希望AlertDialog的标题是该位置的项,但消息是与该项相关的内容。您可以使用此方法setTitle(int titleId)像builder.setTitle(R.string.something)一样传入字符串id;是的,但是有没有一种方法可以动态地获取该id?通过动态地更改标题?使用getString(((视图)parent.getItemAtPosition()).getId();试试这个。
View rowView=(View)parent.getItemAtPosition(position);
TextView messageView=(TextView)rowView.findViewById(R.id.row);
builder.setMessage(messageView.getText().toString());