Android 如何在此代码中显示另一个textview?
你能解释一下如何在这段代码中显示另一个文本视图吗?我使用的是viewpager,所以我只打印一个textview,我想再打印一个textview。任何人都可以帮我。 提前谢谢 这是我的代码 这是我的主要活动课Android 如何在此代码中显示另一个textview?,android,gridview,android-viewpager,Android,Gridview,Android Viewpager,你能解释一下如何在这段代码中显示另一个文本视图吗?我使用的是viewpager,所以我只打印一个textview,我想再打印一个textview。任何人都可以帮我。 提前谢谢 这是我的代码 这是我的主要活动课 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns
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);
}
});
}
}
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);
}
}
}
公共类MainActivity扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//设置GridView的标题
setTitle(“GridView”);
//从grid_view.xml获取视图
setContentView(R.layout.grid_视图);
//将ImageAdapter.java中的图像设置为GridView
GridView GridView=(GridView)findViewById(R.id.GridView);
//setAdapter(新的ImageAdapter(this));//注释行05052018
setAdapter(新更改适配器(this));//新行05052018
//正在侦听GridView项单击
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
//选择GridView项时启动ImageViewPager.java
Intent i=新Intent(getApplicationContext(),ImageViewPager.class);
//显示项目位置的简单toast消息
Toast.makeText(MainActivity.this,“+”位置,Toast.LENGTH_SHORT.show();
//使用intent将单击位置发送到ImageViewPager.java
i、 putExtra(“id”,位置);
//启动ImageViewPager
星触觉(i);
}
});
}
}
这是我的gridview类->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()]);
}
}
公共类更改适配器扩展BaseAdapter{
私有上下文;
公共变更适配器(上下文c){
mContext=c;
}
public int getCount(){
返回getDataContacts().length;
}
公共对象getItem(int位置){
返回getDataContacts()[position];
}
公共长getItemId(int位置){
返回0;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
文本视图图像视图;
如果(convertView==null){//如果它没有被回收,初始化一些属性
imageView=newTextView(mContext.getApplicationContext());
imageView.setTextColor(Color.GREEN);
imageView.setGravity(Gravity.LEFT);//新行05052018
imageView.setTextSize(30);
}否则{
imageView=(TextView)convertView;
}
字符串abc=getDataContacts()[position];
imageView.setText(abc);//新行05052018
返回图像视图;
}
公共字符串[]getContacts(){
DBUtils-utils=newdbutils(mContext.getApplicationContext());
ArrayList name=新的ArrayList();
新的DBUtils((mContext.getApplicationContext());
试一试{
DBUtils.createDatabase();
}捕获(IOE异常){
Log.w(“创建数据库”+e.toString(),“=”;
}
DBUtils.openDatabase();
Cursor Cursor=utils.getResult(“按标题从Cflviewpagerdata顺序中选择*);
cursor.moveToFirst();
而(!cursor.isAfterLast()){
name.add(cursor.getString(cursor.getColumnIndex(“视图”));
cursor.moveToNext();
}
cursor.close();
DBUtils.closeDataBase();
返回names.toArray(新字符串[names.size()]);
}
公共字符串[]getDataContacts(){
DBUtils-utils=newdbutils(mContext.getApplicationContext());
ArrayList name=新的ArrayList();
新的DBUtils((mContext.getApplicationContext());
试一试{
DBUtils.createDatabase();
}捕获(IOE异常){
Log.w(“创建数据库”+e.toString(),“=”;
}
DBUtils.openDatabase();
Cursor Cursor=utils.getResult(“按标题从Cflviewpagerdata顺序中选择*);
cursor.moveToFirst();
而(!cursor.isAfterLast()){
name.add(cursor.getString(cursor.getColumnIndex(“title”));
cursor.moveToNext();
}
cursor.close();
DBUtils.closeDataBase();
返回names.toArray(新字符串[names.size()]);
}
}
此代码表示单击网格视图项时此页面将调用此页面是具有网格视图项的viewpager
该类是viewpager->ImageViewpager.class
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);
}
});
}
}
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);
}
}
}
公共类ImageViewPager扩展活动实现OnInitListener{
//声明变量
内部位置;
Bundle img=新Bundle();
可视寻呼机;
私有文本语音MTT;
列出图像;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//设置ViewPager的标题
setTitle(“查看页面”);
//从view_pager.xml获取视图
setContentView(R.layout.view\u页面);
mTts=新的TextToSpeech(这个,这个);
//在项目单击事件上从MainActivity检索数据
Intent p=getIntent();
position=p.getExtras().getInt(“id”);
ChangesofAdapter imageAdapter=newchangesofadapter(this);//新行05052018
images=new ArrayList();//新行05052018
//检索所有图像
对于(int i=0;ipublic View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.table_model, null);
TextView TV_ID = (TextView)vi.findViewById(R.id.table_ID); // ID
ImageView bgImg =(ImageView)vi.findViewById(R.id.table_IMG); // IMG
TextView TV_details = (TextView)vi.findViewById(R.id.table_num); // details
HashMap<String, String> arraylist_type = new HashMap<String, String>();
arraylist_type = data.get(position);
// Setting all values in listview
TV_ID.setText(arraylist_type.get("ID"));
Glide.with(activity).load(arraylist_type.get("IMG")).into(bgImg);
TV_details.setText(arraylist_type.get("details"));
return vi;
}