我得到了下面的代码,我试图在一个半透明的活动中显示一个简单的选项列表。但是,该对话框根本没有显示,也没有引发任何异常。有什么想法吗?
public class SendToActivity extends AppCompatActivity {
List<String[]> players;
String[] chosen_player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(SendToActivity.this);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
for(String[] player: players){
adapter.add(player[0]);
}
builder.setTitle("Which Player?");
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
chosen_player = players.get(item);
}
});
AlertDialog dialog = builder.create();
dialog.show();发布于 2015-11-04 12:35:16
尝尝这个,
AlertDialog.Builder alertBuilder; // Call this variable globally.
alertBuilder = new AlertDialog.Builder(SignUp.this);
alertBuilder.setTitle(GlobalFields.DIALOG_TITLE);
// Set an EditText view to get user input
final EditText input = new EditText(SignUp.this);
input.setHint("Enter Code");
alertBuilder.setView(input);
alertBuilder.setCancelable(false)
.setMessage("Please enter verification code from email")
.setPositiveButton("Ok", null);
alertBuilder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.cancel();
}
});
// create alert dialog
final AlertDialog alertDialog = alertBuilder.create();
alertDialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface arg0) {
// TODO Auto-generated method stub
Button btn = alertDialog
.getButton(AlertDialog.BUTTON_POSITIVE);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
InputMethodManager inputManager = (InputMethodManager) getApplicationContext()
.getSystemService(
Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(
input.getWindowToken(), 0);
// do your stuff
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
});
// show it
alertDialog.show();发布于 2015-11-04 12:35:01
你可以使用下面的代码在对话框中显示列表。
final Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.dialog_list);
dialog.setTitle("Select Continent");
final ListView listView = (ListView) dialog.findViewById(R.id.list);
dialog.show();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext,
android.R.layout.simple_list_item_1, android.R.id.text1, "Pass your arrayList");
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
int itemPosition = position;
strContinent = (String) YourArrayList.get(position);
dialog.cancel();
}
});dialog_list.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginTop="5dp"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>快乐的编码..
发布于 2015-11-04 12:38:38
点击你的项目,试试下面的代码:
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setMessage(context.getResources().getString(R.string.your_message));
dialog.setPositiveButton(context.getResources().getString(R.string.positive_button_string), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
//your code
}
});
dialog.setNegativeButton(context.getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
//your code when cancel is clicked
}
});
dialog.show();https://stackoverflow.com/questions/33513317
复制相似问题