I was trying to make an activity like this
So just for now I started with creating a custom listView which have static values of text to be displayed. I created two xml files i.e one with EditText, button and ListView and other one describing row of ListView.
My java code is as follow
package com.ved_copy.copy;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
ListView list;
String[] name = { "Shailene Woodley", "Susan Coffey", "Jennifer Lawrence",
"Emma Watson", "Emma Stone" };
String[] question = { "Is Vishesh Single?", "Net scap navigator",
"Who is primeminister of japan", "popullation growth rate",
"will uganda be a super power" };
String[] solution = { "Solution:12", "Solution:6", "Solution:11",
"Solution:2", "Solution:23" };
String[] date = { "24/6/14", "22/6/14", "22/6/14", "10/6/14", "27/5/14" };
Integer[] imageId = { R.drawable.woodley, R.drawable.susan,
R.drawable.jennifer, R.drawable.emma, R.drawable.stone };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomList adapter = new CustomList(MainActivity.this, name, question,
solution, date, imageId);
list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this,
"You Clicked at " + name[+position], Toast.LENGTH_SHORT)
.show();
}
});
}
}
and the one that extends ArrayAdapter is as follows
package com.ved_copy.copy;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final String[] name;
private final String[] question;
private final String[] solution;
private final String[] date;
private final Integer[] imageId;
public CustomList(Activity context, String[] name, String[] question,
String[] solution, String[] date, Integer[] imageId) {
super(context, R.layout.list_row, name);
this.context = context;
this.name = name;
this.imageId = imageId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View row = inflater.inflate(R.layout.list_row, null, true);
TextView txtQuestion = (TextView) row.findViewById(R.id.tv_question);
TextView txtSolution = (TextView) row.findViewById(R.id.tv_solution);
TextView txtName = (TextView) row.findViewById(R.id.tv_name);
TextView txtDate = (TextView) row.findViewById(R.id.tv_date);
ImageView imageView = (ImageView) row.findViewById(R.id.iv_image);
txtQuestion.setText(question[position]);
txtSolution.setText(solution[position]);
txtName.setText(name[position]);
txtDate.setText(date[position]);
imageView.setImageResource(imageId[position]);
return row;
}
}
But there is a problem with constructor help me to fix that thanks.
Maybe you can use BaseAdapter like this example like
public class MyNewsArrayAdapter extends BaseAdapter {
Activity context;
String title[];
String description[];
int att[];
int ph[];
public MyNewsArrayAdapter(Activity context, String[] title,
String[] description, int[] att, int[] ph) {
super();
this.context = context;
this.title = title;
this.description = description;
this.att = att;
this.ph = ph;
}
...
It's help for me, when I used 3 TextView and 2 ImageView.
And sorry for my English..