私はAndroidアプリケーション開発の初心者ですが、stackoverflowに関する疑似質問がありますが、この問題の正確な解決策を見つけることができません。感謝の意を表します。他のファイルをアップロードする必要があるかどうかを教えてください。ここで リストビュー項目がアンドロイドに表示されない
は私が次の出力を取得するので、私は0 Toast.makeText to display item0 of listview l1 でアイテムをトーストするときの項目がリストビューに挿入されているかなり確信しているリストビュー出力 Listview outputあるのでにデータを挿入しても問題ありませんリストビュー。リストビューの構造
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
// addtocart_layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:text="Total : Rs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView10"
android:textSize="20sp"
android:textStyle="normal|bold"
android:layout_marginTop="16dp"
android:layout_below="@+id/textView9"
android:layout_alignStart="@+id/textView9" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="4"
android:id="@+id/editText6"
android:text="1"
android:layout_alignBaseline="@+id/textView9"
android:layout_alignBottom="@+id/textView9"
android:layout_alignStart="@+id/textView11" />
<TextView
android:text="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView11"
android:textStyle="normal|bold"
android:textSize="20sp"
android:layout_alignBaseline="@+id/textView10"
android:layout_alignBottom="@+id/textView10"
android:layout_alignParentEnd="true"
android:layout_marginEnd="142dp" />
<TextView
android:text="Quantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView9"
android:textSize="20sp"
android:textStyle="normal|bold"
android:layout_marginTop="36dp"
android:layout_below="@+id/textView7"
android:layout_toStartOf="@+id/textView11"
android:layout_marginEnd="45dp" />
<TextView
android:text="ItemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView7"
android:textStyle="normal|bold"
android:textSize="20sp"
android:layout_marginTop="95dp"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/textView10"
android:layout_marginStart="12dp" />
</RelativeLayout>
CartDialog - - javaファイル
public class CartDialog extends DialogFragment {
String item;
TextView iname,t11;
EditText qty;
LayoutInflater inflater;
View view;
NumberPicker numberPicker;
public static int sprice[]={40,50,60,25,30,30,25,25,20,20,20,15,15};
public String names[]=new String[]{"Item1","Item2","Item3"};
public ListView l1;
int i=0;
List itemName;
LinearLayout rl;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
inflater=getActivity().getLayoutInflater();
itemName=new ArrayList();
view=inflater.inflate(R.layout.addtocart_layout,null);
rl = (LinearLayout)view.inflate(this.getContext(), R.layout.fragment_cart,null);
//#s1 This code is for some other functionality.
iname=(TextView)view.findViewById(R.id.textView7);
iname.setText(MyMenu.item1);
int id=Integer.parseInt(MyMenu.childid);
qty=(EditText)view.findViewById(R.id.editText6);
t11=(TextView)view.findViewById(R.id.textView11);
t11.setText(Integer.toString(Integer.parseInt(qty.getText().toString())*sprice[id]));
qty.addTextChangedListener(
new TextWatcher() {
int id=Integer.parseInt(MyMenu.childid);
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String qty_value=qty.getText().toString();
if(!qty_value.equals(""))
t11.setText(Integer.toString(Integer.parseInt(qty_value)*sprice[id]));
else
t11.setText("");
}
}
);
#s1 ends here
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
builder.setView(view).setPositiveButton("Add to Cart", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
onAddToCart();
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
return builder.create();
}
public void onAddToCart(){
//PLAUSIBLE PROBLEM HERE - i think, Something must be wrong here
ArrayAdapter<String> adapter1=new ArrayAdapter<String>(this.getContext(),R.layout.cartlist_layout,names);
l1=(ListView)rl.findViewById(R.id.listview_cart);
l1.setAdapter(adapter1);
Toast.makeText(this.getContext(),"Added to Cart:"+l1.getItemAtPosition(0),Toast.LENGTH_SHORT).show();
}
}
リストでカスタムレイアウトを使用していますが、ビュー(R.layout.cartlist_layout)とデータ(名前)を一致させる方法を定義していません。カスタムアダプターを使用する方法を検索してみてください。 –