我有一个 ListActivity
,以便用我创建的类数组填充 ListView
的内容。
没问题,但我在 ListView 下方放置了一个 Button,如下所示:Adding a button underneath a listview on android
问题是:如何为该按钮设置 onClickListener?
我试过这个:
public class showTasks extends ListActivity implements OnClickListener{
Button addTaskButton;
Task[] tasks = {...};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show_tasks);
setListAdapter(new TaskAdapter());
addTaskButton=(Button)findViewById(R.id.addTaskButton);
}
public void onListItemClick(ListView parent, View v, int position, long id){
Intent i=new Intent(this,showTask.class);
Bundle b = new Bundle();
b.putSerializable("task", tasks[position]);
i.putExtras(b);
startActivity(i);
}
//adapting a task to be viewable as a list of instances of the layout Task
class TaskAdapter extends ArrayAdapter<Task>{
TaskAdapter(){
super(showTasks.this, R.layout.task, tasks);
}
public View getView(int position, View convertView, ViewGroup parent){
View task=convertView;
if(task==null){
LayoutInflater inflater = getLayoutInflater();
task=inflater.inflate(R.layout.task, parent, false);
}
//now, let's define the Task variables and data
TextView taskName=(TextView)task.findViewById(R.id.taskName);
taskName.setText(tasks[position].name);
TextView deadline=(TextView)task.findViewById(R.id.deadline);
deadline.setText(tasks[position].deadline);
TextView importance=(TextView)task.findViewById(R.id.importance);
importance.setText(tasks[position].importance);
TextView urgency=(TextView)task.findViewById(R.id.urgency);
urgency.setText(tasks[position].urgency);
return(task);
}
}
public void onClick(View view) {
if(view==addTaskButton){
Intent i=new Intent(this,addTask.class);
startActivity(i);
}
}
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}
只看最后一部分:首先,它不允许我有一个 void onClick(View view),它必须是 onClick(DialogInterface dialog, int which)。
但它甚至没有到达那里,因为一旦我到达 addTaskButton.setOnClickListener((android.view.View.OnClickListener) 这个); 它死了!
那么,我怎样才能在同一个 ListActivity
中同时拥有一个 ListView
和一个 Button?
最佳答案
您使用了错误的对话框...确保您的导入语句说:
import android.view.OnClickListener;
代替
import android.content.DialogInterface.OnClickListener;
关于android - 一个 ListActivity 和一个 Button : mission impossible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5373464/