带详细信息的列表视图
Listview with Details
我有一个显示客户列表的Listview,我在Listview中添加了一个onClickListner,这样我就可以得到被点击的客户的详细信息。
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();
}
}
);
}
我想显示信息但不是在 toast 中,我更喜欢一些 activity、片段或一些弹出窗口之王。
有人可以帮忙吗?
使用代码:
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();
}
});
希望这会奏效..
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);
}
}
);
}
您可以在另一个 activity 中获取意图值。
如果我理解了,你想发送一些信息给另一个activity来显示这个信息。
你可以看看Android中的“Intent”。它用于启动一个像 activity 这样的组件,并且可以携带信息到这个新的 activity 来启动。
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.putExtra("CUSTOMER_INFO", customer.getName());
startActivity(i);
注意:如果您想在活动之间传递自定义对象,例如自定义对象列表:
List<'CustomObject'>
您的自定义对象 class 必须实现 Parcelable。
如果你想传递你在列表中显示的客户端名称,你可以从适配器获取 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);
}
}
}
我有一个显示客户列表的Listview,我在Listview中添加了一个onClickListner,这样我就可以得到被点击的客户的详细信息。
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();
}
}
);
}
我想显示信息但不是在 toast 中,我更喜欢一些 activity、片段或一些弹出窗口之王。
有人可以帮忙吗?
使用代码:
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();
}
});
希望这会奏效..
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);
}
}
);
}
您可以在另一个 activity 中获取意图值。
如果我理解了,你想发送一些信息给另一个activity来显示这个信息。
你可以看看Android中的“Intent”。它用于启动一个像 activity 这样的组件,并且可以携带信息到这个新的 activity 来启动。
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.putExtra("CUSTOMER_INFO", customer.getName());
startActivity(i);
注意:如果您想在活动之间传递自定义对象,例如自定义对象列表:
List<'CustomObject'>
您的自定义对象 class 必须实现 Parcelable。
如果你想传递你在列表中显示的客户端名称,你可以从适配器获取 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);
}
}
}