Mi lehet a hiba a porogramban? Tökéletesen lefut a telefonomon az alkalmazás, a hozzáad gomb hatására üressé teszi a mezőket, de nem adja hozzá az elemeket a listához.
vasarlas.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=" [link]
xmlns:tools=" [link]
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.kristf.bevasarlolistapp.vasarlas"
android:background="#18FFFF">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView2"
android:textColor="#004D40"
android:text="ghjgj"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4"
android:id="@+id/linearLayout">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Mérőszám"
android:id="@+id/Mérőszám"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:hint="Mértékegység"
android:id="@+id/Mértékegység"
android:layout_weight="1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Ár/Egység"
android:id="@+id/Ár"
android:layout_weight="1" />
</LinearLayout>
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="Áru neve"
android:id="@+id/Árunév"
android:layout_below="@+id/linearLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hozzáad"
android:id="@+id/Add"
android:layout_below="@+id/linearLayout"
android:layout_alignRight="@+id/linearLayout"
android:layout_alignEnd="@+id/linearLayout" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lv_list"
android:layout_below="@+id/Árunév"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_above="@+id/textView2" />
</RelativeLayout>
vasarlas.java:
package com.example.kristf.bevasarlolistapp;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
public class vasarlas extends AppCompatActivity {
private Button Add;
private EditText Mérőszám, Mértékegység, Árunév;
private ListView lv_list;
private ArrayList<Item> array;
private ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.vasarlas);
Add = (Button)findViewById(R.id.Add);
Mérőszám = (EditText)findViewById(R.id.Mérőszám);
Mértékegység = (EditText)findViewById(R.id.Mértékegység);
Árunév = (EditText)findViewById(R.id.Árunév);
lv_list = (ListView)findViewById(R.id.lv_list);
lv_list.setAdapter(adapter);
array = new ArrayList<Item>();
adapter = new Adapter(this, R.layout.custom_listview, array);
Add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AddItem();
}
});
}
public void AddItem()
{
if(Mérőszám.getText().toString().equals("")||Mértékegység.getText().toString().equals("")||Árunév.getText().toString().equals(""))
{
AlertDialog.Builder builder = new AlertDialog.Builder(vasarlas.this);
builder.setTitle("Hiányzó adat!");
builder.setMessage("Add meg a hiányzó adatokat!");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create().show();
}else {
final String Áruneve= Árunév.getText().toString();
final String Mennyiség= Mérőszám.getText().toString();
Item item = new Item(Áruneve, Mennyiség);
array.add(0,item);
adapter.notifyDataSetChanged();
Mérőszám.setText("");
Mértékegység.setText("");
Árunév.setText("");
Mérőszám.requestFocus();
}
}
}
custom_listview.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=" [link]
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="280dp"
android:layout_height="wrap_content"
android:id="@+id/Áruneve"/>
<TextView
android:layout_width="280dp"
android:layout_height="wrap_content"
android:id="@+id/Mennyiség"/>
</LinearLayout>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbx_item"
android:layout_gravity="right"
android:layout_marginTop="-30dp" />
</LinearLayout>
Item.java:
package com.example.kristf.bevasarlolistapp;
/**
* Created by Kristóf on 2016. 07. 02..
*/
public class Item {
private String Áruneve;
private String Mennyiség;
private boolean isChecked;
public Item(String Áruneve, String Mennyiség){
this.Áruneve=Áruneve;
this.Mennyiség=Mennyiség;
isChecked=false;
}
public String getÁruneve() {
return Áruneve;
}
public void setÁruneve(String áruneve) {
Áruneve = áruneve;
}
public String getMennyiség() {
return Mennyiség;
}
public void setMennyiség(String mennyiség) {
Mennyiség = mennyiség;
}
public boolean isChecked() {
return isChecked;
}
public void setIsChecked(boolean isChecked) {
this.isChecked = isChecked;
}
}
Adapter.java:
package com.example.kristf.bevasarlolistapp;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import java.util.ArrayList;
/**
* Created by Kristóf on 2016. 07. 02..
*/
public class Adapter extends ArrayAdapter<Item> {
private Activity context;
private int id;
ArrayList<Item> array;
public Adapter(Activity context, int resource, ArrayList<Item> objects) {
super(context, resource, objects);
this.context=context;
this.id=resource;
this.array=objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater inflater=context.getLayoutInflater();
convertView=inflater.inflate(id, null);
}
final Item item = array.get(position);
TextView Áruneve = (TextView) convertView.findViewById(R.id.Áruneve);
TextView Mennyiség = (TextView) convertView.findViewById(R.id.Mennyiség);
CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.cbx_item);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
item.setIsChecked(isChecked);
}
});
Áruneve.setText(item.getÁruneve());
Mennyiség.setText(Mennyiség.getText());
checkBox.setChecked(item.isChecked());
return convertView;
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!