标签: custom-view

NSMutableDictionary将一个doesNotRecognizeSelector抛出到objectForKey?

我是iPhone编程的总菜鸟,而且我遇到了一个被抛出的异常,我无法解决这个问题.

背景:错误发生在自定义子视图中,并在加载程序后立即发生.我在重写的drawRect方法中抛出一个异常.抛出错误的代码如下:

- (void)drawRect:(CGRect)rect{
    NSNumber *points = [NSNumber numberWithInt: star.numberOfPoints];
    //HERE. Doesn't recognize selector?!
    CGPathRef t = (CGPathRef)[starPaths objectForKey:points];
 /*snip*/
Run Code Online (Sandbox Code Playgroud)

starPaths在awakeFromNib中初始化为容量为1的NSMutableDictionary.

被抛出的异常是 - [NSObject doesNotRecognizeSelector:]

starPaths在视图的头文件中声明为

    NSMutableDictionary *starPaths;
Run Code Online (Sandbox Code Playgroud)

并初始化为

- (void)awakeFromNib{
    starPaths = [NSMutableDictionary dictionaryWithCapacity: 1];
} 
Run Code Online (Sandbox Code Playgroud)

最后,我一直没能去的代码,我成功的元素添加到字典中的一个点,因为代码添加一个条目依赖于接收从词典中无响应知道该特定条目需要建成.

有什么建议?我应该提供的任何其他信息?任何帮助都会受到赞赏,我觉得我错过了一些显而易见的东西,但是我一整天都在抨击这一天没有运气.

iphone objective-c custom-view nsmutabledictionary

2
推荐指数
1
解决办法
5333
查看次数

Django 管理员:添加自定义列表视图的最佳方法是什么?

我想在管理中提供一个与 非常相似的自定义视图changelist_view(),但没有指向编辑表单视图的链接。用户将能够选择列表中的项目并应用操作,就像在更改列表表单中一样,但他们无权访问编辑表单。

我认为ModelAdmin类中的结构应该是这样的:

class ProductAdmin(admin.ModelAdmin):
    def get_urls(self):
        urls = super(ProductAdmin, self).get_urls()
        urls += patterns('',
            (r'^selectlist/$', self.selectlist_view)
        )
        return urls

    def selectlist_view(self):
        return render_to_response(...)
Run Code Online (Sandbox Code Playgroud)

要返回的视图与 非常相似ModelAdmin.changelist_view()。最好的、DRY 的方法是什么?

python django django-admin custom-view

2
推荐指数
1
解决办法
5206
查看次数

无法覆盖onMeasure方法

我需要覆盖onMeasure方法,但在尝试覆盖时我得到错误: The method OnMeasure(int, int) of type DrawLnClass.DrawLn must override a superclass method

这是我的代码:

public class DrawLnClass extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(new DrawLn(this));
    }
    public class DrawLn extends View {

        Paint _paint;
        int _height;
        int _width;
        Bitmap _bitmap;
        Canvas _canvas;
        Point[] xLine;
        Point[] yLine;

        public DrawLn(Context context) {
            super(context);
            _paint = new Paint();
            _paint.setColor(Color.CYAN);
            _paint.setStyle(Paint.Style.STROKE);
        }

        @Override
        protected void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
        {
            //super.onMeasure(widthMeasureSpec, heightMeasureSpec);
            _width = View.MeasureSpec.getSize(widthMeasureSpec);
            _height = View.MeasureSpec.getSize(heightMeasureSpec); …
Run Code Online (Sandbox Code Playgroud)

android custom-view

2
推荐指数
1
解决办法
2822
查看次数

从xml创建自定义视图

我想添加相同的水平滚动行按钮,如此

<HorizontalScrollView [...]>
  <LinearLayout [...] android:orientation="horizontal">
    <Button android:id="@+id/btn1" [..] />
    <Button [..] />
     [...] 
  </LinearLayout>
</HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)

(toolbar.xml)到我的应用程序中每个活动的底部.我不想在每个活动中为每个按钮指定点击监听器,而是希望能够在一个地方完成所有这些操作,然后每次只导入控件.我想我可以做点什么

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
 <com.example.ButtonBar android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:layout_alignParentBottom="true"
    android:layout_below="@+id/pagecontent" />
 <LinearLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/pagecontent">

    <!-- the rest of each activity's xml -->

 </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在屏幕上包含按钮栏,然后执行类似的操作

package com.example;

import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.HorizontalScrollView;

public class ButtonBar extends HorizontalScrollView implements OnClickListener
{

  public ButtonBar(Context context, AttributeSet attrs)
  {
    super(context, attrs);
    LayoutInflater inflater = …
Run Code Online (Sandbox Code Playgroud)

layout android views custom-view

2
推荐指数
1
解决办法
7983
查看次数

访问我的自定义视图中的组件(膨胀布局)?

我可能犯了一些愚蠢的错误.

我有一个自定义视图,并使用LayoutInflater从XML获取布局.现在,假设我有一个名为bt1的按钮.通常,我会使用findViewById,但这不起作用.

如何获取自定义视图中的按钮?

LinearLayout lytContainer;
public obj(Context c){
    super(c);

    lytContainer = (LinearLayout) View.inflate(
            this.getContext(), R.layout.myLayout, null);
    TextView t = (TextView)findViewById(R.id.bt1);
    t.setText("cake");

}
Run Code Online (Sandbox Code Playgroud)

java android custom-view layout-inflater

2
推荐指数
1
解决办法
725
查看次数

如何在Android上自定义按钮(有两个TextFields)

我需要开发一个有两个标签的按钮.

我找到一些关于自定义视图的好文章,但我无法想象如何创建一个myButton类(其中包含自定义布局)扩展按钮...是否可能..

另外在XML中有些视图,布局......我们怎么能这样做?

android custom-view android-layout

2
推荐指数
1
解决办法
2654
查看次数

单击按钮时重新加载自定义视图

我试图刷新屏幕点击一个按钮,所以我想知道我应该在OnClick()方法中写什么,以便自定义视图,即TouchEventView将重新加载或刷新这里是我的TouchEventView.java代码

public class TouchEventView extends View {
    private Paint paint = new Paint();
    private Path path = new Path();

    public TouchEventView(Context context, AttributeSet attrs) {
        super(context, attrs);

        paint.setAntiAlias(true);
        paint.setColor(Color.WHITE);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeJoin(Paint.Join.ROUND);
        paint.setStrokeWidth(5f);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawPath(path, paint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        float eventX = event.getX();
        float eventY = event.getY();

        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            path.moveTo(eventX, eventY);

            return true;
        case MotionEvent.ACTION_MOVE:
            path.lineTo(eventX, eventY);
            break;
        case MotionEvent.ACTION_UP:
            // nothing to do
            break;
        default:
            return false; …
Run Code Online (Sandbox Code Playgroud)

android custom-view

2
推荐指数
1
解决办法
5502
查看次数

是否可以在android中为Toast提供点击监听器?

我正在尝试为 toast 消息提供点击监听器。有人告诉我是否可以在 android 中为 Toast 提供点击监听器?

我正在使用 toast 的自定义视图,并且我将 onclick 侦听器应用于我的视图,但它不起作用。我 Triade 这个

LayoutInflater inflater = (LayoutInflater) ConnectToXMPP.mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View layout = inflater.inflate(R.layout.chat_message_alert_dialog,null);
TextView text = (TextView) layout.findViewById(R.id.chat_popup_message_textview);
text.setText("From : " + fromName+ "\n" + fromName);
LinearLayout chatMessageLayout = (LinearLayout)    
layout.findViewById(R.id.chat_popup_message_layout);

Toast toast = new Toast(ConnectToXMPP.mContext);
toast.setView(layout);
toast.setGravity(Gravity.CENTER_VERTICAL, 0,0);
toast.setDuration(60000);
toast.getView().setClickable(true);
toast.getView().setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

     Toast.makeText(ConnectToXMPP.mContext,"toast touched",Toast.LENGTH_SHORT).show();

}
});
toast.show();
Run Code Online (Sandbox Code Playgroud)

android toast custom-view onclicklistener

2
推荐指数
1
解决办法
4646
查看次数

具有两个TextView的自定义视图

我想创建一个带有2个TextView的自定义视图,可以从xml更改文本和文本外观.这个视图应该有两个状态 - normal和selected(TextViews样式应该对每个状态都不同).

我需要一些例子.

android custom-view viewgroup android-viewgroup

2
推荐指数
1
解决办法
4465
查看次数

快速自定义视图中的多个日期范围选择

我需要像这样的图片开发日历。我搜索了很多库。但是没有一个人类似于这个自定义选择视图。请有人帮我。谢谢。

在此处输入图片说明

calendar objective-c custom-view ios swift

2
推荐指数
1
解决办法
2086
查看次数