Ich habe eine Anwendung, die ich Fragment Pager Adapter zum Durchblättern von Seiten mit Fragment implementiert hatte. Dann hat es auf dem Fragment einen EditText und eine TextView. Ich möchte EditText.addTextChangedListener in das Fragment implementieren, so bei MainActivity.javaAndroid Studio - EditText.addTextChangedListener funktioniert nicht
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;
}
}
}
Mein 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);
}
});
}
}
Aber es funktioniert nicht, ich Fehler erhalten auf TextWatcher, Fehler : kann die Symbolklasse TextWatcher nicht finden, Ausführung fehlgeschlagen für Task ': appcompileDebugJavaWithJavac'. Kann mir jemand bitte helfen ..
Hallo, danke für die Antwort! Bei meinem fragment.java habe ich die Codes eingefügt und EditText Text hinzugefügt; Textansicht textv; Aber es gibt Fehler für TextWatcher (kann Symbol 'TextWatcher' nicht auflösen) –
So jetzt funktioniert es.? – Nitesh
Nein, das wird angezeigt FAILURE: Erstellung fehlgeschlagen mit einer Ausnahme. * Was schief gelaufen ist: Ausführung fehlgeschlagen für Task ': app: compileDebugJavaWithJavac'. > Kompilierung fehlgeschlagen; Weitere Informationen finden Sie in der Compilerfehlerausgabe. * Versuchen Sie: Führen Sie mit --stacktrace Option, um die Stack-Trace zu erhalten. Führen Sie die Option --info oder --debug aus, um mehr Protokollausgaben zu erhalten. BUILD FAILED –