android - 一个 ListActivity 和一个 Button : mission impossible?

标签 android button listactivity

我有一个 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/

相关文章:

java - 压缩后位图字节数保持不变

java - 在 Kotlin 中用一行设置 Android 屏幕亮度(与 Java 相比)

android - rxjava Realm - 使用 UI 线程以外的其他处理程序线程的灵活性?

java - 重写 AbstractButton.getIcon 的问题

javascript - 如何通过单击按钮更改所有段落(而不是标题)的颜色?

Android:从 ListActivity 迁移到 ListFragment

java - Android:将 CheckBox 添加到 ListAdapter

android - GoogleMaps.LocationServices NuGet 包说找不到命名空间

android - 如何在按钮中设置textview和drawable之间的距离?

android - ListActivity的onListItemClick不起作用