2016-10-07 6 views
1

Я новичок в программировании в андроиде, и я хочу сделать диалог предупреждения project.my xml-файл в порядке, но когда я открываю приложение в genymotion, он не отображает диалоговое окно alert.this это мой Java коды:Android-Alert Dialog проблема в GenyMotion

package karimi.afshin.alertdialog; 

import android.content.DialogInterface; 
import android.support.v7.app.AlertDialog; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast; 

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
public void open(View view){ 
    AlertDialog.Builder alertDialogBuilder=new AlertDialog.Builder(this); 
    alertDialogBuilder.setMessage("Are you sure,You wanted to make decision"); 

    alertDialogBuilder.setPositiveButton("yes", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface arg0, int arg1) { 
      Toast.makeText(MainActivity.this,"You clicked yes button",Toast.LENGTH_LONG).show(); 
     } 
    }); 
    alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      finish(); 
     } 
    }); 
    AlertDialog alertDialog=alertDialogBuilder.create(); 
    alertDialog.show(); 
} 

}

и это мой XML-файл:

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Alert Dialog" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="32dp" 
    android:id="@+id/textView1" 
    android:textSize="25sp" 
    android:textColor="@color/background_floating_material_dark" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Tutorialspoint" 
    android:id="@+id/textView2" 
    android:layout_below="@+id/textView1" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="25dp" 
    android:textColor="#3db226" 
    android:textSize="40sp" /> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:src="@drawable/abc" 
    android:layout_below="@+id/textView2" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="46dp" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="ALERT DIALOG" 
    android:id="@+id/button" 
    android:layout_below="@+id/imageView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="30dp" /> 

Я хочу, чтобы это было похоже на это изображение, но оно не отображает диалоговое окно!

enter image description here

Спасибо :)

+0

где вы назвали ваш метод 'open'? В макете кнопок нет установленного OnClickListener или onClick. Если у вас есть какие-либо проблемы, я могу ответить вам. –

+0

Я не знаю, что я пишу это из учебника. Как я могу это исправить? – Afshin

+0

Привет, мой ответ, –

ответ

0

Вам не нужно ничего менять в своем коде. Просто добавьте android:onClick="open" в свой макет кнопки. Например:

... 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="ALERT DIALOG" 
     android:onClick="open" 
     android:id="@+id/button" 
     android:layout_below="@+id/imageView" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="30dp" /> 
... 

Надеюсь, это поможет!

+0

Спасибо за ваш ответ. Это был мой первый опыт работы с Android ... :) – Afshin

0

попробовать это, сначала вы должны сделать OnClick на кнопке, откроется диалоговое окно,

что-то подобное в OnCreate метод

Button btn 
btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       FragmentManager fm = getActivity().getSupportFragmentManager(); 
       TestDialog dialog= new TestDialog(); 
       dialog.show(fm,"fragment name"); 
} 

и теперь вам нужно создать новое имя класса TestDialogextends li ка это

public class TestDialog extends DialogFragment { 


public TestDialog() { 
} 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout."example.xml", container, false); 

//declare your views here like buttons or edit text 
    return rootView;} 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    Dialog dialog = new Dialog(getActivity(), getTheme()); 
    final View view = getActivity().getLayoutInflater().inflate(
      R.layout.actionoption, null); 
    dialog.setTitle(getResources().getString(R.string.action_settings)); 
    dialog.setCanceledOnTouchOutside(false); 
    return dialog; 

} 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    getDialog().setTitle("Actions Option"); 


}} 

надежда эта помощь по любому вопросу сказать мне в комментариях

+0

, но я хочу знать, как я могу назвать открытый метод? – Afshin

+0

Что такое открытый метод ??? я не могу понять? ваш вопрос о картине и это решение для картины? что ? –

+0

Я имею в виду, я не хочу делать много изменений в code.can мы исправим его с небольшими изменениями? – Afshin

 Смежные вопросы

  • Нет связанных вопросов^_^