2017-02-01 12 views
0

私のアプリにこのダイアログを表示しました。のアイテムをdbから削除できます。これは、以前はの直線レイアウトの中で、機能を呼び出したtextViewとボタンでした。これはうまくいきました。 相対レイアウトに変更したので、他のボタンと同じ行に別のボタンを追加することができました。また、editTextも追加しました。 私の問題は、これらのオブジェクトを追加したので、私はもはやボタンを見ることができないということです。 editTextとtextViewが表示されます。Androidスタジオのボタンが表示されない

XMLコード:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/dialog_deletefood" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.paulcosma.app2.SecondActivity"> 

    <TextView 
     android:text="TextView" 
     android:layout_gravity="center" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/lblFoodDetails" 
     android:textAlignment="center" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="19dp" /> 

    <Button 
     android:text="Şterge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 

     android:id="@+id/btnDeleteEatenFood" 
     android:layout_alignBaseline="@+id/btnModifyEatenFood" 
     android:layout_alignBottom="@+id/btnModifyEatenFood" 
     android:layout_toStartOf="@+id/lblFoodDetails" 
     android:visibility="visible" /> 

    <Button 
     android:layout_marginTop="100dp" 
     android:text="Modifică" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 

     android:id="@+id/btnModifyEatenFood" 
     android:layout_below="@+id/lblFoodDetails" 
     android:layout_toEndOf="@+id/lblFoodDetails" 
     android:visibility="visible" /> 

    <EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:id="@+id/txtEditValue" 
     android:maxLength="6" 
     style="@style/Widget.AppCompat.AutoCompleteTextView" 
     android:maxLines="1" 
     android:textAppearance="@style/TextAppearance.AppCompat" 
     android:fontFamily="sans-serif" 
     android:textSize="14sp" 
     android:textAlignment="center" 
     android:textColorLink="@android:color/holo_blue_light" 
     android:inputType="numberDecimal" 
     android:layout_marginTop="21dp" 
     android:layout_below="@+id/lblFoodDetails" 
     android:layout_centerHorizontal="true" /> 

</RelativeLayout> 

このダイアログは、ListView項目のクリックで表示するようになっています。以下は私がそれを示すのに使ったコードです。

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    HashMap<String, String> hmap = (HashMap<String, String>)parent.getItemAtPosition(position); 
    final String _name = hmap.get("food"); 
    final int _id = foodDB.getFoodId(_name); 

    AlertDialog.Builder mBuiler = new AlertDialog.Builder(SecondActivity.this); 
    View mView = getLayoutInflater().inflate(R.layout.dialog_deletefood,null); 

    final TextView lblFoodDetails = (TextView) mView.findViewById(R.id.lblFoodDetails); 
    final Button btnDeleteEatenFood = (Button) mView.findViewById(R.id.btnDeleteEatenFood); 

    lblFoodDetails.setText("Aţi ales produsul " + _name + ". Aici puteţi adăuga sau scădea cantitatea printr-o anumită valoare sau puteţi şterge apariţia produsului."); 

    mBuiler.setView(mView); 
    final AlertDialog dialog = mBuiler.create(); 

    btnDeleteEatenFood.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      foodDB.deleteEatenFood(_id); 
      Toast.makeText(SecondActivity.this,_name+" a fost sters",Toast.LENGTH_SHORT).show(); 
      dialog.dismiss(); 
      updateFoodList(foodDB.getAllEatenFood()); 
     } 
    }); 

    dialog.show(); 
} 
+0

あなたがのLinearLayoutと同じ行にボタンを置くことができる... –

+0

はそうであっても、なぜこの作業ではないでしょうか? – jeaks

+0

1)このレイアウトを読み込むJavaコードを表示できますか? 2)あなたはこれがダイアログだと言ったのですか?通常、私はダイアログにそのような大きなマージンを入れませんでした –

答えて

0

問題は、両方のボタンがtextViewのサイズに基づいて配置されていることでした。それが変わった場合、ボタンが画面の外に置かれてしまった

バグ:cricket_007 @

android:layout_toEndOf="@+id/lblFoodDetails" 
android:layout_toEStartOf="@+id/lblFoodDetails" 
0

説明したように、このレイアウト・ファイルは、Androidレイアウト設計内のボタンをレンダリング(下記参照)

Layout File

問題は、コード内に存在してもよいです。

関連する問題