我有一个显示客户列表的Listview,我已经将一个onClickListner添加到Listview,以便我可以获得点击客户端的详细信息。
ListView l = (ListView) findViewById(R.id.jl);
l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ClientListView j = JList.get(position);
String mess = "you clicked position " + position + " With Name " + j.GetClientName();
Toast.makeText(Home.this,mess,Toast.LENGTH_LONG).show();
}
}
);
}
我想显示信息但不是在吐司中,我会更喜欢一些活动,片段或一些弹出式的东西。
任何人都可以帮忙吗?
答案 0 :(得分:1)
使用代码:
l.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
ClientListView j = JList.get(position);
String mess = "you clicked position " + position + " With Name " + j.GetClientName();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ActivityName.this);//Your activity name
// set title
alertDialogBuilder.setTitle("Hello!");
// set dialog message
alertDialogBuilder.setMessage(mess)
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, close
// current activity
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
});
希望这会有效..
答案 1 :(得分:0)
ListView l = (ListView) findViewById(R.id.jl);
l.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ClientListView j = JList.get(position);
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("Keyname", j);
startActivity(intent);
}
}
);
}
您可以在另一项活动中获取意图值。
答案 2 :(得分:0)
如果我已理解,您希望将某些信息发送到其他活动以显示此信息。
您可以查看Android中的“Intent”。它用于启动类似活动的组件,并可以将信息传递给此新活动以启动。
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.putExtra("CUSTOMER_INFO", customer.getName());
startActivity(i);
注意:如果要在活动之间传递自定义对象,例如自定义对象列表:
List<'CustomObject'>
您的自定义对象类必须实现Parcelable。
答案 3 :(得分:0)
如果要传递列表中显示的客户端名称,可以从适配器获取id并使用它。
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String clientName= (String) ((TextView) view
.findViewById(R.id.client_name)).getText();
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("client", clientName);
startActivity(intent);
}
}
}