我是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)
最后,我一直没能去的代码,我成功的元素添加到字典中的一个点,因为代码添加一个条目依赖于接收从词典中无响应知道该特定条目需要建成.
有什么建议?我应该提供的任何其他信息?任何帮助都会受到赞赏,我觉得我错过了一些显而易见的东西,但是我一整天都在抨击这一天没有运气.
我想在管理中提供一个与 非常相似的自定义视图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 的方法是什么?
我需要覆盖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) 我想添加相同的水平滚动行按钮,如此
<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) 我可能犯了一些愚蠢的错误.
我有一个自定义视图,并使用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) 我需要开发一个有两个标签的按钮.
我找到一些关于自定义视图的好文章,但我无法想象如何创建一个myButton类(其中包含自定义布局)扩展按钮...是否可能..
另外在XML中有些视图,布局......我们怎么能这样做?
我试图刷新屏幕点击一个按钮,所以我想知道我应该在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) 我正在尝试为 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) 我想创建一个带有2个TextView的自定义视图,可以从xml更改文本和文本外观.这个视图应该有两个状态 - normal和selected(TextViews样式应该对每个状态都不同).
我需要一些例子.
我需要像这样的图片开发日历。我搜索了很多库。但是没有一个人类似于这个自定义选择视图。请有人帮我。谢谢。

custom-view ×10
android ×7
objective-c ×2
calendar ×1
django ×1
django-admin ×1
ios ×1
iphone ×1
java ×1
layout ×1
python ×1
swift ×1
toast ×1
viewgroup ×1
views ×1