首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seekbar不是working(setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener错误)

Seekbar不是working(setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener错误)
EN

Stack Overflow用户
提问于 2014-08-30 20:04:06
回答 1查看 4.7K关注 0票数 0

我想用一个按钮和一个滑块编写一个简单的android应用程序:我的java程序如下所示:

代码语言:javascript
复制
package com.example.android.apis.view;

import com.example.android.apis.R;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextSwitcher;
import android.widget.TextView;
import android.widget.ViewSwitcher;

/**
 * Uses a TextSwitcher.
 */
public class TextSwitcher1 extends Activity implements ViewSwitcher.ViewFactory,
        View.OnClickListener, OnSeekBarChangeListener {

    SeekBar mSeekBar;
    TextView mProgressText;
    TextView mTrackingText;
    private TextSwitcher mSwitcher;

    private int mCounter = 0;

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

        setContentView(R.layout.text_switcher_1);
        setContentView(R.layout.seekbar_1);

        mSeekBar = (SeekBar)findViewById(R.id.seek);
        mSeekBar.setOnSeekBarChangeListener(this);

        mProgressText = (TextView)findViewById(R.id.progress);
        mTrackingText = (TextView)findViewById(R.id.tracking);

        mSwitcher = (TextSwitcher) findViewById(R.id.switcher);
        mSwitcher.setFactory(this);

        Button nextButton = (Button) findViewById(R.id.next);
        nextButton.setOnClickListener(this);

        updateCounter();
    }

    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
        mProgressText.setText(progress + " " + 
                getString(R.string.seekbar_from_touch) + "=" + fromTouch);
    }

    public void onStartTrackingTouch(SeekBar seekBar) {
        mTrackingText.setText(getString(R.string.seekbar_tracking_on));
    }

    public void onStopTrackingTouch(SeekBar seekBar) {
        mTrackingText.setText(getString(R.string.seekbar_tracking_off));
    }

    public void onClick(View v) {
        mCounter++;
        updateCounter();
    }

    private void updateCounter() {
        mSwitcher.setText(String.valueOf(mCounter));
    }

    public View makeView() {
        TextView t = new TextView(this);
        t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
        t.setTextSize(36);
        return t;
    }
}

我得到了一个错误: SeekBar类型中的方法SeekBar不适用于该行中的参数(TextSwitcher1):mSeekbar.setonSeekbarChangeListener( this );

我不知道这是什么问题,请你帮我解决好吗?谢谢你,斯特凡

EN

回答 1

Stack Overflow用户

发布于 2014-09-06 09:48:36

我不明白为什么您使用了两次不同视图的setContentView()。这是主要的错误。

删除setContentView(R.layout.text_switcher_1); setContentView(R.layout.seekbar_1); first..here编译器中的一个contentView,在获取布局视图时感到困惑,..i认为这是您的编码错误之一。

并确保R.id.seek是查找栏的完美路径,并在xml布局中定义。

this conversation..。尝试一下下面的代码,并删除OnSeekBarChangeListener及其相应方法的实现。

代码语言:javascript
复制
mSeekBar = (SeekBar)findViewById(R.id.seek);
mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {       

@Override       
public void onStopTrackingTouch(SeekBar seekBar) {      
    // TODO Auto-generated method stub      
}       

@Override       
public void onStartTrackingTouch(SeekBar seekBar) {     
    // TODO Auto-generated method stub      
}       

@Override       
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {     
    // TODO Auto-generated method stub      

}  
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25586285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档