2014-08-30 56 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  

}