我必须在单击的列表项上打开一个子窗口。此窗口包含三个按钮,这些按钮也是可点击的。请参阅屏幕截图。
在 iphone 中可以使用 TableRow。android中有没有像iphone这样的方式或任何不同的方式
我必须在单击的列表项上打开一个子窗口。此窗口包含三个按钮,这些按钮也是可点击的。请参阅屏幕截图。
在 iphone 中可以使用 TableRow。android中有没有像iphone这样的方式或任何不同的方式
我认为您必须创建自己的样式并将该样式应用于您的对话框(/您称其为子窗口),并且 OnListItemClick 您必须显示此对话框。
创建布局,包括要在 ListItem Click 上显示的扩展视图
将以下代码添加到您的 LISTViewclick 侦听器中,实际希望使其可见
Count 是一个变量,用于检查单击的次数是偶数还是奇数,以便相应地使其可见和不可见。
IF((count%2)==0)
{
linearLayout.setvisibilty(View.GONE);
}
else
{
linearLayout.setvisibilty(View.VISIBLE);
}
这里的linearLayout
是您在屏幕截图中所需的布局...(使用该布局设计并将其父布局可见性设置为GONE
)
在开始时将其设置为不可见。并相应地使其在 itemclick 上可见
给您一个粗略的想法,您可以相应地自定义代码
希望能帮助到你。我曾多次使用相同的技巧来使此类事情发生
如果你想像上面的截图那样做,你必须让它成为列表项的一部分,在列表项的正常内容之上定义它,并将特定布局的可见性设置为android:visibility="gone"
. 然后,当您单击更多按钮时,将布局可见性设置为android:visibility="visible"
.
首先,将 onItemClickListener 应用于您的列表视图。然后,在 onItemClicked() 中,调用我调用的新对话框。
您的列表视图:
ListView listView = (ListView) findViewById(R.id.listview);
listView.setOnItemClickListener(this);
在 onItemClick 中:
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
callDialog("Message");
}
您的对话编码是:
public static void callDialog(String message){
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.customdialog);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
TextView tvTitle = (TextView) dialog.findViewById(R.id.textview_dialog_title);
tvTitle.setText("MyDialog..");
TextView tvText = (TextView) dialog.findViewById(R.id.textview_dialog_text);
tvText.setText(message);
Button buttonDialogYes = (Button) dialog.findViewById(R.id.button_dialog_yes);
buttonDialogYes.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Do some thing.
dialog.dismiss();
}
});
Button buttonDialogNo = (Button) dialog.findViewById(R.id.button_dialog_no);
buttonDialogNo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Do some thing
dialog.dismiss();
}
});
dialog.show();
}
为对话框开发自定义 xml,并将其设置为
dialog.setContentView(R.layout.customdialog);
它会根据您的需要正常工作。