Мне нужно сделать функцию, чтобы присоединиться к корзине (приложение напиток) - PullRequest
0 голосов
/ 24 сентября 2019

Когда я нажимаю на список shopping после присоединения к shopping корзине, я не знаю, что такое happened.

public class Shoppingtest extends AppCompatActivity {

private TextView drink_name;
private TextView size;
private TextView sweet;
private TextView feeding;
private TextView count;
private TextView price;
private TextView ice;
private ListView listview;
MyAdapter adapter = null;

ArrayList<String> drinkNamearry = new ArrayList<String>();
ArrayList<String> sizearry = new ArrayList<String>();
ArrayList<String> sweetarry = new ArrayList<String>();
ArrayList<String> icearry = new ArrayList<String>();
private String drinkNamelist, sizelist, sweetlist, icelist;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_template_shoplist);

    this.setTitle("Order Details");

    drink_name = (TextView) findViewById(R.id.drink_name);
    size = (TextView) findViewById(R.id.size);
    sweet = (TextView) findViewById(R.id.sweet);
    feeding = (TextView) findViewById(R.id.feeding);
    count = (TextView) findViewById(R.id.count);
    price = (TextView) findViewById(R.id.price);
    ice = (TextView) findViewById(R.id.ice);
    listview = (ListView) findViewById(R.id.listview);


    SharedPreferences spf = getSharedPreferences("drink", 0);
    drinkNamelist = spf.getString("drinkNamelist", "");
    sizelist = spf.getString("sizelist", "");
    sweetlist = spf.getString("sweetlist", "");
    icelist = spf.getString("icelist", "");
    drinkNamearry = new ArrayList<String>();
    sizearry = new ArrayList<String>();
    sweetarry = new ArrayList<String>();
    icearry = new ArrayList<String>();
    Collections.addAll(drinkNamearry, drinkNamelist.split(","));
    Collections.addAll(sizearry, sizelist.split(","));
    Collections.addAll(sweetarry, sweetlist.split(","));
    Collections.addAll(icearry, icelist.split(","));
    Log.d("drinkNamelist", drinkNamelist);
    Log.d("sizelist", sizelist);
    Log.d("sweetlist", sweetlist);
    Log.d("icelist", icelist);
    Log.d("id", "2 "+drinkNamearry.size() );

    adapter = new MyAdapter(this);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 200) {
        SharedPreferences spf = getSharedPreferences("drink", 0);
        drinkNamelist = spf.getString("drinkNamelist", "");
        sizelist = spf.getString("sizelist", "");
        sweetlist = spf.getString("sweetlist", "");
        icelist = spf.getString("icelist", "");
        drinkNamearry = new ArrayList<String>();
        sizearry = new ArrayList<String>();
        sweetarry = new ArrayList<String>();
        icearry = new ArrayList<String>();
        Collections.addAll(drinkNamearry, drinkNamelist.split(","));
        Collections.addAll(sizearry, sizelist.split(","));
        Collections.addAll(sweetarry, sweetlist.split(","));
        Collections.addAll(icearry, icelist.split(","));
        Log.d("drinkNamelist", drinkNamelist);
        Log.d("sizelist", sizelist);
        Log.d("sweetlist", sweetlist);
        Log.d("icelist", icelist);
        Log.d("id", "2 "+drinkNamearry.size() );
        adapter = new MyAdapter(this);

        listview.setAdapter(adapter);
    }
}

public class MyAdapter extends BaseAdapter {
    private LayoutInflater myInflater;

    public MyAdapter(Context c) {
        myInflater = LayoutInflater.from(c);
    }

    public int getCount() {
        return drinkNamearry.size();
    }

    public Object getItem(int position) {
        return drinkNamearry.get(position);
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        convertView = myInflater.inflate(R.layout.activity_template_shopping, null);
        drink_name = (TextView) findViewById(R.id.drink_name);
        size = (TextView) findViewById(R.id.size);
        sweet = (TextView) findViewById(R.id.sweet);
        feeding = (TextView) findViewById(R.id.feeding);
        count = (TextView) findViewById(R.id.count);
        price = (TextView) findViewById(R.id.price);
        ice = (TextView) findViewById(R.id.ice);

        if (drinkNamearry.size() == 0) {
            drink_name.setText("");
            size.setText("");
            sweet.setText("");
            ice.setText("");
        } else {
            drink_name.setText(drinkNamearry.get(position));
            size.setText(sizearry.get(position));
            sweet.setText(sweetarry.get(position));
            ice.setText(icearry.get(position));
        }
        return convertView;
    }
 }

Это мое сообщение об ошибке

Process: com.example.myapplication, PID: 25194
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

1 Ответ

1 голос
/ 24 сентября 2019

Я думаю, что вы ошибаетесь, попробуйте это.convertView. до findViewbyId

public View getView(int position, View convertView, ViewGroup parent) {
            convertView = myInflater.inflate(R.layout.activity_template_shopping, null);
            drink_name = (TextView) convertView.findViewById(R.id.drink_name);
            size = (TextView) convertView.findViewById(R.id.size);
            sweet = (TextView) convertView.findViewById(R.id.sweet);
            feeding = (TextView) convertView.findViewById(R.id.feeding);
            count = (TextView) convertView.findViewById(R.id.count);
            price = (TextView) convertView.findViewById(R.id.price);
            ice = (TextView) convertView.findViewById(R.id.ice);

            if (drinkNamearry.size() == 0) {
                drink_name.setText("");
                size.setText("");
                sweet.setText("");
                ice.setText("");
            } else {
                drink_name.setText(drinkNamearry.get(position));
                size.setText(sizearry.get(position));
                sweet.setText(sweetarry.get(position));
                ice.setText(icearry.get(position));
            }
            return convertView;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...