2016-10-07 4 views
1

私はAndroidプログラミングの新機能で、警告ダイアログを作成したいと思っていますproject.my xmlファイルはOKですが、私はgenymotionでアプリケーションを開くと警告ダイアログを表示しません。これは私ですJavaのコード:Android - 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 settedまたはonClickはありません。何か問題があれば私はあなたに答えを出すことができます。 –

+0

私はチュートリアルからそれを書くことを知っていません。どうすれば修正できますか? – Afshin

+0

こんにちは私の答え、 –

答えて

0

に教えてKEこの

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"); 


}} 

希望。ボタンのレイアウトに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

あなたのresponse.itのおかげで、私の最初のアンドロイドの経験だった... :) – Afshin

0

の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"); 
} 
でこのよう

何か、 は最初のダイアログを開くボタンにonclickを行う必要があり、これを試してみてください

これで、新しいクラス名TestDialogextends liを作成する必要がありますあなたのコード内で何かを変更する必要はありません任意の質問については、このヘルプはコメント

+0

を確認しますが、私はどのように私はオープンメソッドを呼び出すことができることを知りたいですか? – Afshin

+0

オープンメソッドは何ですか?理解できません ?画像とこの画像の解決方法に関するあなたの質問?何ですか? –

+0

私はコードに多くの変更を加えたくないということを意味します。小さな変更で修正できますか? – Afshin

関連する問題