コメント |
@HTML
<img src="https://lh3.googleusercontent.com/-xUmGlgFAxMI/VgU8IHG3iDI/AAAAAAAAb1w/_xkzVhlFbvA/s400-Ic42/_img.png" style="border: solid 1px #000000">
@HEND
@SHOW
(1) キャンセル不可
(2) 配列をリソースから
@END
@DIV
package sample.lightbox.checkboxdialog2;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MainActivity.this.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox", "クリックされました");
MyDialogFragment dialog = new MyDialogFragment();
@c:red(dialog.setCancelable)(false);
dialog.show(getFragmentManager(), "dialog");
}
});
}
public @c:red(static) class MyDialogFragment extends @c:red(DialogFragment) {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
String[] list_data = @c:red(getResources)().getStringArray(R.array.list_01);
boolean[] list_flg = {false, false, false, false};
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("回転可能なダイアログ");
builder.setMultiChoiceItems(list_data, list_flg, null);
builder.setNegativeButton("キャンセル", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("lightbox", "キャンセルされました");
}
});
builder.setPositiveButton("選択完了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("lightbox", "選択されました");
SparseBooleanArray sba = ((AlertDialog) dialog).getListView().getCheckedItemPositions();
Log.i("lightbox", sba.size() + "");
for (int i = 0; i < sba.size(); i++) {
int idx_data = sba.keyAt(i);
String target = ((AlertDialog) dialog).getListView().getAdapter().getItem(idx_data).toString();
Log.i("lightbox", target);
}
}
});
return builder.create();
}
}
}
@END
[[strings.xml]]
@DIV
<resources>
<string name="app_name">CheckBoxDialog2</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
@c:red( <string-array name="list_01">
<item>大阪</item>
<item>東京</item>
<item>名古屋</item>
<item>岡山</item>
</string-array>)
</resources>
@END |