2016-01-02 3 views
1

enter image description hereКак устранить следующую ошибку Продукт() в Продукт нельзя применить?

Здесь я объявил переменные класса продукта и назначил его.

product.java

public class Product { 
    String[] name= new String[100]; 
    int price; 
    int image; 
    boolean box; 


    Product(String[] _describe, int _price, int _image, boolean _box) { 
     name = _describe; 
     price = _price; 
     image = _image; 
     box = _box; 
    } 
} 

Это мой класс продукта. Что я должен изменить в приведенном выше коде? Открытый класс MainActivity extends Activity { String [] data = new String [] {"no: 1", "no: 2", "no: 3", "no: 4", "no: 5", "no : 6" }; String [] columnTags = new String [] {"ProcessName", "IpItem", "IpColor", "OpItem", "OpColor", "PlanQty", "DcQty", "RecQty", "RtQty"}; ArrayList products = new ArrayList(); ListAdapter1 boxAdapter;

/** Called when the activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    fillData(); 
    boxAdapter = new ListAdapter1(this, products); 

    ListView lvMain = (ListView) findViewById(R.id.lvMain); 
    lvMain.setAdapter(boxAdapter); 
} 

void fillData() { 
    for (int i = 0; i <= 20; i++) { 
     products.add(new Product(columnTags, i * 100,i * 553 
       , false)); 
    } 
} 

public void showResult(View v) { 
    String result = "Selected Product are :"; 
    int totalAmount=0; 
    for (Product p : boxAdapter.getBox()) { 
     if (p.box){ 
      result += "\n" + p.name; 
      totalAmount+=p.image; 
     } 
    } 
    String total="Total="+totalAmount; 
    // Toast.makeText(this, result+"\n"+"Total Amount:="+totalAmount, Toast.LENGTH_LONG).show(); 
    Bundle bundle=new Bundle(); 
    bundle.putString("res",result); 
    bundle.putString("tot",total); 
    Intent intent = new Intent(MainActivity.this,MainActivity2Activity.class); 
    intent.putExtras(bundle); 
    startActivity(intent); 
} 

}

+0

Опубликовать связанный код ... изображение не помогает читать код ... – johnrao07

+0

Ваш код отличается своим изображением. И ваш код прав. –

ответ

0

Первый параметр вашего add() требует String[] и вы передаете ему String.

Просто изменение,

products.add(columnTags[i],i*100,i*553,false)

в

products.add(columnTags,i*100,i*553,false)

Также сделайте следующее,

for(...) 
{ 
    String temp = columnTags[i]; 
    products.add(temp,i*100,i*553,false) 
} 

EDIT

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    fillData(); 
    ArrayAdapter boxAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, new ArrayList<String>(Arrays.asList(products.name))); 

    ListView lvMain = (ListView) findViewById(R.id.lvMain); 
    lvMain.setAdapter(boxAdapter); 
} 

void fillData() { 
String temp; 
for (int i = 0; i <columnTags.length; i++) { 
    temp = columnTags[i]; 
    products.add(new Product(temp, i * 100,i * 553, false)); 
    } 
} 
+0

Ошибка: (54, 53) error: не найдено подходящего метода для setText (String []) метод TextView.setText (CharSequence) не применим (аргумент несоответствие; String [] не может быть преобразован в CharSequence) метод TextView. setText (int) не применимо (аргумент несоответствие; String [] не может быть преобразован в int) – prabhu

+0

Получение такой ошибки – prabhu

+0

Это устранит вашу ошибку, но я сильно подозреваю, что она не будет работать для вас, поскольку ваша логика программирования неверна. –

Смежные вопросы