Можете ли вы объяснить, как отобразить другое текстовое представление в этом коде? Я использую viewpager, поэтому я просто печатаю только одно textview, я хочу еще один textview. пожалуйста, кто-нибудь, вы можете мне помочь.
заранее спасибо.
это мой код
Это мой класс Mainacctivity
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set title for the GridView
setTitle("GridView");
// Get the view from grid_view.xml
setContentView(R.layout.grid_view);
// Set the images from ImageAdapter.java to GridView
GridView gridview = (GridView) findViewById(R.id.gridview);
//gridview.setAdapter(new ImageAdapter(this)); //commented line 05052018
gridview.setAdapter(new ChangesofAdapter(this)); //new line 05052018
// Listening to GridView item click
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Launch ImageViewPager.java on selecting GridView Item
Intent i = new Intent(getApplicationContext(), ImageViewPager.class);
// Show a simple toast message for the item position
Toast.makeText(MainActivity.this, "" + position, Toast.LENGTH_SHORT).show();
// Send the click position to ImageViewPager.java using intent
i.putExtra("id", position);
// Start ImageViewPager
startActivity(i);
}
});
}
}
это мой класс сетки -> ChangesofAdapter.class
public class ChangesofAdapter extends BaseAdapter {
private Context mContext;
public ChangesofAdapter(Context c) {
mContext = c;
}
public int getCount() {
return getDataContacts().length;
}
public Object getItem(int position) {
return getDataContacts()[position];
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
TextView imageView;
if (convertView == null) { // If it's not recycled, initialize some attributes
imageView = new TextView(mContext.getApplicationContext());
imageView.setTextColor(Color.GREEN);
imageView.setGravity(Gravity.LEFT); // new line 05052018
imageView.setTextSize(30);
} else {
imageView = (TextView) convertView;
}
String abc =getDataContacts()[position];
imageView.setText(abc); // new line 05052018
return imageView;
}
public String[] getContacts(){
DBUtils utils = new DBUtils(mContext.getApplicationContext());
ArrayList<String> names = new ArrayList<String>();
new DBUtils((mContext.getApplicationContext()));
try {
DBUtils.createDatabase();
} catch (IOException e) {
Log.w(" Create Db "+e.toString(),"===");
}
DBUtils.openDatabase();
Cursor cursor = utils.getResult("select * from Cflviewpagerdata order by title");
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
names.add(cursor.getString(cursor.getColumnIndex("view")));
cursor.moveToNext();
}
cursor.close();
DBUtils.closeDataBase();
return names.toArray(new String[names.size()]);
}
public String[] getDataContacts(){
DBUtils utils = new DBUtils(mContext.getApplicationContext());
ArrayList<String> names = new ArrayList<String>();
new DBUtils((mContext.getApplicationContext()));
try {
DBUtils.createDatabase();
} catch (IOException e) {
Log.w(" Create Db "+e.toString(),"===");
}
DBUtils.openDatabase();
Cursor cursor = utils.getResult("select * from Cflviewpagerdata order by title");
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
names.add(cursor.getString(cursor.getColumnIndex("title")));
cursor.moveToNext();
}
cursor.close();
DBUtils.closeDataBase();
return names.toArray(new String[names.size()]);
}
}
Этот код представляет собой элемент, отображаемый при щелчке по сетке. Эта страница будет вызывать эту страницу.
этот класс является viewpager -> ImageViewpager.class
public class ImageViewPager extends Activity implements OnInitListener {
// Declare Variable
int position;
Bundle img = new Bundle();
ViewPager vp;
private TextToSpeech mTts;
List<TextView> images;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set title for the ViewPager
setTitle("ViewPager");
// Get the view from view_pager.xml
setContentView(R.layout.view_pager);
mTts = new TextToSpeech(this, this);
// Retrieve data from MainActivity on item click event
Intent p = getIntent();
position = p.getExtras().getInt("id");
ChangesofAdapter imageAdapter = new ChangesofAdapter(this); //new line 05052018
images = new ArrayList<TextView>(); //new line 05052018
// Retrieve all the images
for (int i = 0; i < imageAdapter.getCount(); i++) {
TextView imageView = new TextView(this); //new line 05052018
String abc = imageAdapter.getContacts()[i];
imageView.setText(imageAdapter.getContacts()[i]); //new line 05052018
imageView.setTextColor(Color.BLUE);
imageView.setGravity(Gravity.CENTER_HORIZONTAL);//new line 05052018
img.putString("CURRENT_POSITION", abc);
images.add(imageView);
}
vp=(ViewPager)findViewById(R.id.pager); //new line 06052018
vp.setAdapter(new ViewPagerAdapter(images)); //new line 06052018
vp.setOffscreenPageLimit(0);
vp.setCurrentItem(position); //new line 06052018
}
public class ViewPagerAdapter extends PagerAdapter {
private List<TextView> images;
public ViewPagerAdapter(List<TextView> images) {
this.images = images;
}
@Override
public Object instantiateItem(final ViewGroup container, int position) {
final TextView imageView = images.get(position); //commented line on date 06052018
container.addView(imageView);
imageView.setTextSize(120);
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageSelected(int pos) {
int currentposition = pos;
mTts.speak(images.get(currentposition).getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
public void onPageScrollStateChanged(int arg0) {
}
});
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(images.get(position));
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.size();
}
@Override
public boolean isViewFromObject(View view, Object o) {
// TODO Auto-generated method stub
return view == o;
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if (mTts != null) {
mTts.shutdown();
}
}
@Override
protected void onDestroy() {
//Close the Text to Speech Library
if(mTts != null) {
mTts.stop();
mTts.shutdown();
}
super.onDestroy();
}
public void onInit(int arg0) {
if(arg0 == TextToSpeech.SUCCESS){
mTts.speak(images.get(position).getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
}
}
}
Это мой вид приложения
Это мой внешний вид Gridview, и, когда вы щелкнете по элементу номер семь, этот элемент откроет пейджер второго типа.
Это мой видоискатель в этом виде, я хочу больше textview.
как отобразить другое текстовое представление ниже элемента (семь) или выше элемента (семь)
Это мой код, может любой помочь мне. Я новичок в программировании на Android.
Пожалуйста ........
Заранее спасибо.