У меня есть кнопка под названием «Изменить», а под кнопкой у меня есть вид списка.По умолчанию в списке я скрываю кнопку с изображением минуса и кнопку удаления изображения.если я нажимаю кнопку редактирования, кнопка минуса изображения отображается для всех элементов списка, и если я нажимаю кнопку минуса изображения элемента, отображается кнопка удаления соответствующего элемента списка.и если я коснусь кнопки удаления, соответствующая строка будет удалена.я сделал следующее, если нажал кнопку редактирования и получил исключение нулевого указателя.
public class Favorite extends ListActivity implements OnClickListener{
ImageButton delete,del1,del2,editbutton;
private Context context;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.favorite_list_view);
editbutton = (ImageButton)findViewById(R.id.editbutton);
del1 = (ImageButton)findViewById(R.id.delete1);
editbutton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
del1.setVisibility(View.VISIBLE); // line no 69 . i get null pointer exception here.
}
});
String favorite_list[];
int count=0;
// database coding ....
..........
setListAdapter(new ArrayAdapter<String>(this,R.layout.favorite_row_view, R.id.text1, favorite_list));
}
protected void onListItemClick(ListView l, View convertView, int position, long id) {
super.onListItemClick(l, convertView, position, id);
View view;
if(convertView == null) {
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.favorite_row_view, null);
del1 = (ImageButton)view.findViewById(R.id.delete1);
delete = (ImageButton)view.findViewById(R.id.delete2);
del1.setOnClickListener(this);
delete.setOnClickListener(this);
}
else {
view = convertView;
}
del1 = (ImageButton)view.findViewById(R.id.delete1);
delete = (ImageButton)view.findViewById(R.id.delete2);
del1.setTag(position);
delete.setTag(position);
Object o = this.getListAdapter().getItem(position);
String pen = o.toString();
Toast.makeText(this, ""+position + "-" +"fid - "+""+favoritelist.get(position)+ pen, Toast.LENGTH_SHORT).show();
Bundle bundle = new Bundle();
..........
Intent myIntent = new Intent(convertView.getContext(), favorite_swipe.class);
myIntent.putExtras(bundle);
startActivityForResult(myIntent, 0);
}
@Override
public void onClick(View v) {
Integer position = (Integer) v.getTag();
switch(v.getId()){
case R.id.delete1:
Toast.makeText(this,position+"- delete1", Toast.LENGTH_SHORT).show();
del1.setVisibility(View.VISIBLE);
delete.setVisibility(View.VISIBLE);
break;
case R.id.delete2:
Toast.makeText(this,position+"-delete2", Toast.LENGTH_SHORT).show();
del1.setVisibility(View.VISIBLE);
delete.setVisibility(View.VISIBLE);
break;
}
}
}
log cat:
07-28 19:38:21.019: ERROR/AndroidRuntime(9672): FATAL EXCEPTION: main
07-28 19:38:21.019: ERROR/AndroidRuntime(9672): java.lang.NullPointerException
07-28 19:38:21.019: ERROR/AndroidRuntime(9672): at com.sql.test.Favorite$3.onClick(Favorite.java:69)
07-28 19:38:21.019: ERROR/AndroidRuntime(9672): at android.view.View.performClick(View.java:2408)
07-28 19:38:21.019: ERROR/AndroidRuntime(9672): at android.view.View$PerformClick.run(View.java:8816)