Sunday, 28 December 2014

Peoblem with listView in android



I am trying to make a app using list view and database .But my app is getting error every time i want to compile it .My code are below :


MainActivity.java



public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FixtureAdapter adapter;
DatabaseClass db=new DatabaseClass(this);

db.addFixture(new Fixture("Bangladesh","Australis","Melborne","22 feb 2014"));
db.addFixture(new Fixture("India","Pakistan","Sydney","15 feb 2014"));


ArrayList<Fixture> fx= db.getAllContacts();

adapter = new FixtureAdapter(this,
fx);

ListView dataList = (ListView) findViewById(R.id.list);
dataList.setAdapter(adapter);


}
}


adapter calss:



public class FixtureAdapter extends ArrayAdapter<Fixture> {
Activity context;
int layoutResourceId;
ArrayList<Fixture> data=new ArrayList<Fixture>();
/*public FixtureAdapter(Context context , int layoutResourceId, ArrayList<Fixture> data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = (Activity)context;
this.data = data;
}*/

public FixtureAdapter(Context context , ArrayList<Fixture> data) {
super(context, R.layout.fixture, data);

this.context = (Activity)context;
this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

View row = null;

if(convertView == null)
{
LayoutInflater inflater = (LayoutInflater)context.getLayoutInflater();
row = inflater.inflate( R.layout.fixture,null);
TextView teamone=(TextView)row.findViewById(R.id.teamOneName);
TextView teamtwo=(TextView)row.findViewById(R.id.teamTwoName);
TextView vs=(TextView)row.findViewById(R.id.vs);
TextView venue=(TextView)row.findViewById(R.id.venue);
TextView date=(TextView)row.findViewById(R.id.date);

ImageView teamoneimg = (ImageView) row.findViewById(R.id.teamOneImg);
ImageView teamtwoimg = (ImageView) row.findViewById(R.id.teamTwoImg);


Fixture f=data.get(position);

teamone.setText(f.getTeamOne());
teamtwo.setText(f.getTeamTwo());
vs.setText("Vs");
venue.setText(f.getVenue());
date.setText(f.getDateInt());


if(teamone.getText().toString()=="Bangladesh")
{
teamoneimg.setImageResource(R.drawable.fb);
}
else
{
teamoneimg.setImageResource(R.drawable.ic_launcher);
teamtwoimg.setImageResource(R.drawable.ic_launcher);
}
}
return row;

}



}


Xml files:


main.xml `



<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>

</LinearLayout>`


fixture.xml



<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:layout_marginTop="27dp"
android:orientation="vertical"

>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<!-- first team and name -->

<LinearLayout

android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="vertical" >

<ImageView
android:id="@+id/teamOneImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ab_bottom_solid_dark_holo" />

<TextView
android:id="@+id/teamOneName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="team 1" />

</LinearLayout>

<!-- vs -->

<LinearLayout

android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1" >



<TextView
android:id="@+id/vs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vs"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:paddingTop="15dp"
/>

</LinearLayout>

<!-- second team and name -->

<LinearLayout

android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="2" >

<ImageView
android:id="@+id/teamTwoImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ab_bottom_solid_dark_holo" />

<TextView
android:id="@+id/teamTwoName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="Team two" />

</LinearLayout>

<!-- venue and date -->

<LinearLayout

android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="2" >
<TextView
android:id="@+id/venue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Venue" />


<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="Date and time" />

</LinearLayout>
</LinearLayout>
</LinearLayout>


I have check the database class it has no problem .I think the problem is with the adapter class But i fail to identify it .Please help me out to fix it .


No comments:

Post a Comment