2014-08-30 44 views
0

我想一个按钮和一个滑块编写一个简单的Android应用程序:我的Java程序如下:搜索栏不工作(setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener错误)

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; 
    } 
} 

我得到这个错误:该方法setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener)在类型搜索栏并不适用于在该行的参数(TextSwitcher1):mSeekbar.setonSeekbarChangeListener(本);

我不知道这是什么问题,请你帮我解决它。 非常感谢您提前, 斯特凡

回答

2

我不明白你为什么用两次setContentView()不同意见。这是主要的错误。

获取布局视图..我觉得这是你的编码错误之一,当从setContentView(R.layout.text_switcher_1); setContentView(R.layout.seekbar_1); first..here编译器困惑删除一个内容查看

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

this conversation ..尝试一次如下代码并删除执行OnSeekBarChangeListener及其相应的方法。

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  

}