У меня есть EditText
и Button
в каждой строке списка.В моем ListView
есть три элемента, и моя задача - показать Toast
, когда кто-то нажимает кнопку, содержащую текст в соответствующем EditText
.Проблема в том, что он показывает null
на Toast
.Вот мой код:
package org.ritesh;
public class Edit_Text_listviewActivity extends Activity {
/** Called when the activity is first created. */
ListView list;
List<String> hello;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
list=new ListView(this);
setContentView(list);
hello=new ArrayList<String>();
hello.add("Hello");
hello.add("Hello World");
hello.add("Hello world");
adapter adap=new adapter(this,android.R.layout.simple_list_item_1,hello);
list.setAdapter(adap);
}
public class adapter extends ArrayAdapter
{List<String> hello;
Button btn;
EditText text;
public adapter(Context context, int textViewResourceId, List<String> objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
hello=objects;
}
public int getCount(){
return hello.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
LayoutInflater inflater = (LayoutInflater) Edit_Text_listviewActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowview=(View)inflater.inflate(R.layout.main, parent,false);
text=(EditText)rowview.findViewById(R.id.edit);
text.requestFocusFromTouch();
btn=(Button)rowview.findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String str=text.getText().toString();
Toast.makeText(Edit_Text_listviewActivity.this, str, Toast.LENGTH_LONG).show();
}
});
return rowview;
}
}
}