【问题标题】:Cant make my view clickable不能让我的视图可点击
【发布时间】:2014-11-22 01:30:15
【问题描述】:

所以我有一个引用视图的对象,我试图让它可点击但没有运气。如果你们能帮助我,我将不胜感激!

View CircleView; 

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout base = new LinearLayout(this);
    base.setOrientation(LinearLayout.VERTICAL);


    CircleView = new CircleView(this);

    CircleView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(getBaseContext(), "text",Toast.LENGTH_LONG).show();

        }
    });


    base.addView(CircleView);

}

我的 CircleView 类也扩展了 View。

【问题讨论】:

  • 将您的 CircleView 代码添加到您的帖子中。您可能在其中做了一些改变 OnClickListener 行为方式的事情。
  • 您是否尝试过明确提到 CircleView.setClickable(true); .我的观察对你有用吗?

标签: android


【解决方案1】:

试试这个方法...

View CircleView; 

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout base = new LinearLayout(this);
    base.setOrientation(LinearLayout.VERTICAL);

 LayoutParams linLayoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
        // set LinearLayout as a root element of the screen 
        setContentView(base , linLayoutParam);
    CircleView = new CircleView(this);
 LayoutParams circleViewParam = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        CircleView.setLayoutParams(circleViewParam);
    CircleView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(getBaseContext(), "text",Toast.LENGTH_LONG).show();

        }
    });


    base.addView(CircleView);

}

【讨论】:

    猜你喜欢
    • 2016-04-28
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多