I am try to show Custom List View using Custom Adapter. that is showing data nicely but when i try to add new Item form EditTxt on click of Button then getting error.
Could not execute method for android:onClick
i am not able to add new Item in this list. here name will come form EditText and other item will constant. i try many method but not getting my solution. Another issue is , Activity is opening little late. can you tell me issue behind this.. please check Code...
Activity_phone_book.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:layout_width="280dp"
android:layout_height="40dp"
android:layout_gravity="left"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:gravity="center|center_horizontal|center_vertical"
android:text="Type Your Name"
android:textSize="14sp"
android:id="@+id/addNewName"/>
<Button
android:layout_width="100dp"
android:id="@+id/addNew"
android:onClick="addNewData"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:text="Add New" />
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
activity_array.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/userImage"
android:layout_width="109dp"
android:layout_height="90dp"
android:padding="5dp" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginLeft="10dp"/>
<TextView
android:id="@+id/profile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:padding="2dp"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4d4d4d"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
PhoneBook Activity
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class PhoneBook extends AppCompatActivity {
// Declare variable types
int[] images={R.drawable.pankaj,R.drawable.logo_red,R.drawable.about_us,R.drawable.buddy_1,
R.drawable.buddy_2,R.drawable.contact_us,R.drawable.head_659651_640,R.drawable.login1,
R.drawable.login2,R.drawable.login3};
String[] names={"Pankaj Kumar","Rahul","Prabhash","Rima","Kum","Rupali","Amrawati","Nabhya",
"Nidhi","Sonu"};
String[] profiles={ "Web Developer","Software Developer","Web Developer","Software Developer",
"Web Developer","Software Developer","Web Developer","Software Developer",
"Web Developer","Software Developer" };
Button addNew ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone_book);
ListView listview = (ListView) findViewById(R.id.listView);
CustomAdapter customAdapter = new CustomAdapter();
listview.setAdapter(customAdapter);
}
// here i want to add new Item using this function
public void addNewData( View v)
{
Toast.makeText(this, "length " + images.length, Toast.LENGTH_SHORT).show();
# here i am try to add new item in Array. but getting error. many method applied here but now worked.please tell me how can i add new item form Edit Text...
images = new int[R.drawable.login3];
}
class CustomAdapter extends BaseAdapter{
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@SuppressLint("ViewHolder")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = getLayoutInflater().inflate(R.layout.activity_array ,null);
ImageView imageView = (ImageView)convertView.findViewById(R.id.userImage);
TextView textView = (TextView)convertView.findViewById(R.id.userName);
TextView textView1 = (TextView)convertView.findViewById(R.id.profile);
imageView.setImageResource(images[position]);
textView.setText(names[position]);
textView1.setText(profiles[position]);
return convertView;
}
}
class CustomAdapter1 extends BaseAdapter
{
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@SuppressLint("ViewHolder")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = getLayoutInflater().inflate(R.layout.activity_array ,null);
ImageView imageView = (ImageView)convertView.findViewById(R.id.userImage);
TextView textView = (TextView)convertView.findViewById(R.id.userName);
TextView textView1 = (TextView)convertView.findViewById(R.id.profile);
imageView.setImageResource(images[position]);
textView.setText(names[position]);
textView1.setText(profiles[position]);
return convertView;
}
}
}