co2*_*f2e 1 java android android-alertdialog android-event
我想实现AlertDialog.Builder所选项目点击事件.以下是我到目前为止所尝试的内容.我对Android很新,我不知道如何访问该事件.如何为列表中的每个项目实现click事件?
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
public class MakeCallAlertDialog {
public static AlertDialog.Builder getAlertDialog(String strArray[],
String strTitle, Activity activity) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);
alertDialogBuilder.setTitle(strTitle);
alertDialogBuilder.setItems(strArray, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int arg) {
// TODO Auto-generated method stub
}
});
return alertDialogBuilder;
}
}
Run Code Online (Sandbox Code Playgroud)
由于您OnClickListener为该方法指定了特定的int参数,因此该参数是列表中的位置:
参数
对话框 收到单击的对话框.
该 被点击(例如BUTTON1)按钮或项目的点击的位置
这意味着在您的方法中,您应该能够这样做:
public static AlertDialog.Builder getAlertDialog(final String strArray[],
String strTitle, final Activity activity) {
AlertDialog.Builder alertDialogBuilder =
new AlertDialog.Builder(activity);
alertDialogBuilder.setTitle(strTitle);
alertDialogBuilder.setItems(strArray,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, strArray [which], Toast.LENGTH_SHORT).show();
//rest of your implementation
}
});
return alertDialogBuilder;
}
Run Code Online (Sandbox Code Playgroud)
在onClick()事件中使用switch语句为每个按钮写入click方法.
@Override
public void onClick(DialogInterface dialogInterface, int arg) {
// TODO Auto-generated method stub
switch (arg) {
case 0:
//you code for button at 0 index click
break;
case 1:
//you code for button at 1 index click
break;
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这里,arg表示按下的按钮的索引.你也可以使用strArray [arg]访问该按钮
| 归档时间: |
|
| 查看次数: |
14049 次 |
| 最近记录: |