【问题标题】:how to implemet "On click" for a button which is in custom list view如何为自定义列表视图中的按钮实现“Onclick”
【发布时间】:2015-12-01 07:39:54
【问题描述】:

我在自定义列表视图中有三个按钮,列表视图在片段中而不是在活动中,但是当我设置 onclick listner 时。它抛出异常空对象引用传递。 custome_list_view.xml

        <Button
        android:text="@string/pickUpButtonText"
        android:textColor="#FFFFFF"
        android:textSize="16sp"

        android:layout_width="wrap_content"
        android:layout_height="@dimen/standard_hight"
        android:background="@drawable/buttonshape"
        android:shadowColor="#5BA84F"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="5"
        android:id="@+id/button_pickup_list"

        />

customeListView.Java

        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_jobs, container, false);

    ArrayList<JobListDataProvider> listJobs = GetRequests();
    ListView lv = (ListView)rootView.findViewById(R.id.listViewJobs);
    lv.setAdapter(new JobsListAdapter(getActivity(), listJobs));
    //.....bindind on click....
    Button pickup = (Button) rootView.findViewById(R.id.button_pickup_list);
    pickup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //......................
        }
    });
    return rootView;
}

【问题讨论】:

  • JobsListAdapter中实现onClick(..)
  • 在 JobsListAdapter ... 构造函数的哪个方法中?或 public View getView(int position, View convertView, ViewGroup parent) { }
  • 转到您的 CustomAdapter 并在那里实现功能 myBtn.setOnClickListener(. . . ){ 。 . .你的代码在这里}
  • 好的,谢谢兄弟....!

标签: android android-fragments android-button


【解决方案1】:

您必须将此代码放在公共视图 onCreateView 中的 JobsListAdapter

Button pickup = (Button) rootView.findViewById(R.id.button_pickup_list);
pickup.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //......................
    }
});

【讨论】:

  • 兄弟我还有一个问题..如果你可以帮忙...问题:我在活动栏中有一个切换按钮...我想要单击此按钮的侦听器..我该怎么办?
  • menu.xml &lt;menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"&gt; &lt;item android:id="@+id/userModeToggle" android:title="" app:showAsAction="ifRoom" app:actionLayout="@layout/actionbar_service_toggle" /&gt; &lt;/menu&gt;
  • MainActivity.java if(id == R.id.userModeToggle){ userToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(buttonView.isChecked()){ Toast.makeText(getApplicationContext(),"passenger Mode", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText().show; } } }); }
  • 人将其作为问题发布并分享给我链接我会给你解决方案
  • 添加你的 menu.xml 和你想要实现的活动
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
  • 2014-02-16
相关资源
最近更新 更多