私のアプリケーションには、Adapter
拡張する がありますBaseAdapter
。そのクラス内にメソッドがあります
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
view = lInflater.inflate(R.layout.childitem, parent, false);
}
Product p = getProduct(position);
((TextView) view.findViewById(R.id.tvDescr)).setText(p.name);
((TextView) view.findViewById(R.id.tvPrice)).setText(p.price + "");
((ImageView) view.findViewById(R.id.ivImage)).setImageResource(p.image);
CheckBox cbBuy = (CheckBox) view.findViewById(R.id.cbBox);
cbBuy.setOnCheckedChangeListener(myCheckChangList);
cbBuy.setTag(position);
cbBuy.setChecked(p.box);
return view;
}
MainActivity
私のアプリケーションでは、入力用に 2 つの s を持つ custom を使用しようとしていAlertDialog
ますEditText
。適切に機能せずView
、リソースへのアクセスに使用することをお勧めします。
void newItemInput(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
final View v = inflater.inflate(R.layout.dialog_signin, null);
builder.setView(v);
builder.setTitle("");
builder.setMessage("");
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
EditText item_name = (EditText) v.findViewById(R.id.item_name);
EditText item_price =(EditText) v.findViewById(R.id.item_price);
String text = item_name.getText().toString();
String text_price = item_price.getText().toString();
int price = Integer.parseInt(text_price);
// Do something with value!
products.add(new Product(text, price, R.drawable.unread, false));
item_name.setText("");
item_price.setText("");
}
});
Dialog
次のステートメントでデータを引数として使用するためにデータを挿入すると、products.add(new Product(text, price, R.drawable.unread, false)); ……おかしな動きをする。View
アダプタの呼び出しとダイアログの間の矛盾が原因で発生しますか? もしそうなら、それを解決するために何ができるでしょうか?