3

我正在尝试在小吃店中设置操作。我有以下代码:

Snackbar.make(cb,lvMain.getChildCount()+" hotspots selected.",Snackbar.LENGTH_INDEFINITE).setAction("COPY TO",mOnClickListener).setActionTextColor(Color.RED).show();

如何为操作声明侦听器“mOnClickListener”?

4

3 回答 3

8
Snackbar snackbar = Snackbar
        .make(cb,lvMain.getChildCount()+" hotspots selected.",Snackbar.LENGTH_INDEFINITE)
        .setAction("COPY TO", new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

snackbar.show();
于 2016-06-12T04:54:37.487 回答
0

在like中声明View.OnClickListener mOnClickListener;为类变量,Activity

public class MainActivity extends AppCompatActivity {
    View.OnClickListener mOnClickListener;
   // extra codes
}

那么你可以简单地这样做,

   mOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Handle onclick here
        }
    };

有关完整示例,请参见此处

于 2016-06-12T04:58:22.983 回答
0

我看到缺少 Kotlin 这样做的方式,所以我想加我的 2 美分:

Snackbar.make(view, "", Snackbar.LENGTH_INDEFINITE).apply {
    setAction(R.string.dismiss) { this.dismiss() }
    show()
}

好消息是apply使不需要的小吃店消失的额外变量

也返回任何它的apply通行证,所以你可以apply{...}.show()

于 2019-11-27T15:19:53.500 回答