フラグメントを使用してページをスワイプするためのフラグメントページャアダプタを実装したアプリケーションがあります。次に、フラグメント上にEditTextとTextViewがあります。 MainActivity.javaAndroid Studio - EditText.addTextChangedListenerが機能しない
package testing.com.testing;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import layout.page1;
import layout.page2;
public class MainActivity extends AppCompatActivity {
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(new SamplePagerAdapter(
getSupportFragmentManager()));
}
public class SamplePagerAdapter extends FragmentPagerAdapter {
public SamplePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return new page1();
} else
return new page2();
}
@Override
public int getCount() {
return 2;
}
}
}
マイfragment.javaで
package layout;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import testing.com.testing.R;
public class page1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.page1, container,
false);
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
EditText text;
TextView textv;
text = (EditText) getView().findViewById(R.id.p1Name);
textv = (TextView) getView().findViewById(R.id.textView);
text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
textv.setText(s);
}
});
}
}
は、しかし、それは動作しません、私はTextWatcherにエラーが出るので、私は、フラグメントにEditText.addTextChangedListenerを実装すると、エラー:シンボルクラスTextWatcherを見つけることができません。タスク ':appcompileDebugJavaWithJavac'の実行に失敗しました。誰も私を助けてくださいすることができます。..
そここんにちは、返信に感謝!私のfragment.javaで、コードを貼り付けて追加しました。 EditText text; TextView textv; TextWatcherのエラーが発生しました( 'TextWatcher'のシンボルを解決できません) –
さて、今は動作していますか? – Nitesh
いいえ、これが表示されます FAILURE:例外が発生してビルドに失敗しました。 *何が問題になりましたか: タスク ':app:compileDebugJavaWithJavac'の実行に失敗しました。 >コンパイルに失敗しました。詳細については、コンパイラのエラー出力を参照してください。 *試してください: --stacktraceオプションを指定して実行すると、スタックトレースが取得されます。より多くのログ出力を得るには、--infoまたは--debugオプションを指定して実行します。 BUILD FAILED –