2

アプリケーションで紹介メッセージを表示するダイアログを作成しようとしています。その下に「今後これを表示しない」チェックボックスがあります。コードの作り方がわかりません。

< MainActivity.java >

@Override

    protected void onStart()
    {
        super.onStart();

        final Dialog dialog = new Dialog(this);
        dialog.setContentView(R.layout.dialog);
        dialog.setTitle("Warning!");

        Button button = (Button) dialog.findViewById(R.id.okay);
        button.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View view) {  
                dialog.dismiss();            
            }  
        });

        dialog.show();
    }

これは私のJavaコードです

これは私のlayout.xmlコードです

<ダイアログ.xml >

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

  <RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10.0dip" >

    <TextView
        android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="@string/brick_warning"
        android:textSize="15dp" />
</RelativeLayout>

  <CheckBox
      android:id="@+id/dont_show"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/dont_show"
      android:textSize="13dp" />

  <LinearLayout
    style="?android:attr/buttonBarStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:orientation="horizontal" >

  <Button
        android:id="@+id/okay"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="@string/dialog_continue" />

   </LinearLayout>

</LinearLayout>

すてきな一日を :)

4

1 に答える 1

1

回答が遅くなって申し訳ありませんが、あなたの問題で は、リンク
の 共有設定を使用して簡単に解決できます:

そしてコード:

          AlertDialog.Builder adb= new

 AlertDialog.Builder(this);
 LayoutInflater adbInflater = 

  LayoutInflater.from(this);
  View eulaLayout = adbInflater.inflate

  (R.layout.activity_main, null);
  check = (CheckBox)

     eulaLayout.findViewById(R.id.skip);
  adb.setView(eulaLayout);
  adb.setTitle("Example:");
   adb.setMessage(Html.fromHtml("Type your 

  text here: "));
    adb.setPositiveButton("Ok", new

   DialogInterface.OnClickListener() {
      public void onClick(DialogInterface 

    dialog, int which) {
        String checkBoxResult = "NOT 

     checked";
        if (check.isChecked())  

     checkBoxResult = "checked";
          SharedPreferences settings = 

         getSharedPreferences(PREFS_NAME, 0);
          SharedPreferences.Editor 

         editor = settings.edit();
          editor.putString("noshow", 

        checkBoxResult);
          // Commit the edits!

        //  sunnovalthesis();

          editor.commit();
        return;
    } });

   adb.setNegativeButton("Cancel", new

DialogInterface.OnClickListener() {
public void onClick(DialogInterface 

 dialog, int which) {
    String checkBoxResult = "NOT 

checked";
    if (check.isChecked())  

   checkBoxResult = "checked";
    SharedPreferences settings = 

   getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = 

    settings.edit();
      editor.putString("noshow", 

checkBoxResult);
      // Commit the edits!

    //  sunnovalthesis();

      editor.commit();
        return;
} });
 SharedPreferences settings = 

getSharedPreferences(PREFS_NAME, 0);
   String noshow = settings.getString

 ("noshow", "NOT checked");
  if (noshow != "checked" ) adb.show();

ハッピーコーディング!

于 2015-10-18T14:07:02.733 に答える