0

I was trying to make an activity like this

enter image description here

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.

1 Answer 1

1

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..

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.