私のアプリにこのダイアログを表示しました。のアイテムを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();
}
あなたがのLinearLayoutと同じ行にボタンを置くことができる... –
はそうであっても、なぜこの作業ではないでしょうか? – jeaks
1)このレイアウトを読み込むJavaコードを表示できますか? 2)あなたはこれがダイアログだと言ったのですか?通常、私はダイアログにそのような大きなマージンを入れませんでした –