android获取在另一个类中单击的项的位置
有人能帮我吗?我正在尝试访问“位置”变量itemclicked。我希望另一个类的内容根据我单击的列表显示不同的内容 我想要的是:如果我单击位置0,那么它会将我带到另一个页面,并且我在该类上创建的android获取在另一个类中单击的项的位置,android,Android,有人能帮我吗?我正在尝试访问“位置”变量itemclicked。我希望另一个类的内容根据我单击的列表显示不同的内容 我想要的是:如果我单击位置0,那么它会将我带到另一个页面,并且我在该类上创建的TextView将更改为“you clicked position 0”。如果我点击位置1,它会变为“你点击了位置1”,等等 我已尝试执行此操作,但它仅在单击位置0时起作用。如果单击项目1,则显示“您已单击位置0”。我很困惑。我尝试过使用putexraa和其他方法,但它们不起作用。非常感谢你的帮助 pac
TextView
将更改为“you clicked position 0”。如果我点击位置1,它会变为“你点击了位置1”,等等
我已尝试执行此操作,但它仅在单击位置0时起作用。如果单击项目1,则显示“您已单击位置0”。我很困惑。我尝试过使用putexraa和其他方法,但它们不起作用。非常感谢你的帮助
package com.obi.arinzeapp;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private List<list> mymusic = new ArrayList<list>();
public list currentsong;
public int man;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populatemusiclist();
populateListView();
registerclick();
}
private void registerclick() {
ListView mus = (ListView) findViewById(R.id.musiclistview);
mus.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long arg3) {
man = position;
try {
Class ourClass = Class.forName("com.obi.arinzeapp.Music");
Intent ourIntent = new Intent(MainActivity.this, ourClass);
startActivity(ourIntent);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
});
}
private void populatemusiclist() {
mymusic.add(new list(R.drawable.ff, " Mr.J.Mederiors \"Constance\"",
R.drawable.medi));
mymusic.add(new list(R.drawable.ff, " Mr.J.Mederiors \"Constnce\"",
R.drawable.medi));
mymusic.add(new list(R.drawable.ff, " Mr.J.Mederiors \"Constnce\"",
R.drawable.medi));
}
private void populateListView() {
ArrayAdapter<list> adapter = new MyListAdapter();
ListView list = (ListView) findViewById(R.id.musiclistview);
list.setAdapter(adapter);
}
private class MyListAdapter extends ArrayAdapter<list> {
public MyListAdapter() {
super(MainActivity.this, R.layout.viewitem, mymusic);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View veiwitem = convertView;
if (veiwitem == null) {
veiwitem = getLayoutInflater().inflate(R.layout.viewitem,
parent, false);
// return super.getView(position, convertView, parent);
}
list currentsong = mymusic.get(position);
ImageView imageview = (ImageView) veiwitem
.findViewById(R.id.imageView2);
imageview.setImageResource(currentsong.getNum());
TextView wor = (TextView) veiwitem.findViewById(R.id.word);
wor.setText(currentsong.getNameofsong());
ImageView imageview2 = (ImageView) veiwitem
.findViewById(R.id.imageView1);
imageview2.setImageResource(currentsong.getPicture());
return veiwitem;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import android.app.Activity;
import android.os.Bundle;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class Music extends Activity{
TextView name,song,album,about;
String nam,son,albu,abou;
RelativeLayout picc;
public int ye ;
MainActivity maa = new MainActivity();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stu
super.onCreate(savedInstanceState);
setContentView(R.layout.music);
name= (TextView) findViewById(R.id.name);
song= (TextView) findViewById(R.id.song);
album=(TextView) findViewById(R.id.album);
about=(TextView) findViewById(R.id.about);
picc=(RelativeLayout) findViewById(R.id.picc);
maa.man= ye;
if(ye==0){
name.setText("You clicked position 1") ;
}else{
name.setText("You clicked position 2") ;
}
}
}
package com.obi.arinzeapp;
导入java.util.ArrayList;
导入java.util.List;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.Intent;
导入android.view.Menu;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
私有列表mymusic=newarraylist();
公开上市;
公共情报人员;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populatemusiclist();
populateListView();
registerclick();
}
私有无效注册表单击(){
ListView mus=(ListView)findViewById(R.id.musiclistview);
mus.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
整数位置,长arg3){
人=位置;
试一试{
Class-ourClass=Class.forName(“com.obi.arinzeapp.Music”);
意向ourIntent=新意向(MainActivity.this,ourClass);
星触觉(ourIntent);
}catch(classnotfounde异常){
e、 printStackTrace();
}
}
});
}
私有void populatemusiclist(){
mymusic.add(新列表(R.drawable.ff,“Mr.J.Mederiors\'Constance\”,
R.drawable.medi);
mymusic.add(新列表(R.drawable.ff,“Mr.J.Mederiors\'Constance\”,
R.drawable.medi);
mymusic.add(新列表(R.drawable.ff,“Mr.J.Mederiors\'Constance\”,
R.drawable.medi);
}
私有void populateListView(){
ArrayAdapter=新的MyListAdapter();
ListView列表=(ListView)findViewById(R.id.musiclistview);
list.setAdapter(适配器);
}
私有类MyListAdapter扩展了ArrayAdapter{
公共MyListAdapter(){
super(MainActivity.this、R.layout.viewitem、mymusic);
//TODO自动生成的构造函数存根
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
View VEIVITEM=转换视图;
if(veiwitem==null){
veiwitem=GetLayoutFlater()。充气(R.layout.viewitem,
父母,假);
//返回super.getView(position、convertView、parent);
}
list currentsong=mymusic.get(位置);
ImageView ImageView=(ImageView)veiwitem
.findViewById(R.id.imageView2);
setImageResource(currentsong.getNum());
TextView wor=(TextView)veiwitem.findViewById(R.id.word);
work.setText(currentsong.getNameofsong());
ImageView imageview2=(ImageView)veiwitem
.findViewById(R.id.imageView1);
setImageResource(currentsong.getPicture());
返回维特姆;
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.RelativeLayout;
导入android.widget.TextView;
公共课音乐拓展活动{
文本视图名称、歌曲、专辑、关于;
串南,儿子,阿尔布,阿布;
中国人民保险公司;
公共INTYE;
MainActivity maa=新的MainActivity();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成方法stu
super.onCreate(savedInstanceState);
setContentView(R.layout.music);
name=(TextView)findViewById(R.id.name);
song=(TextView)findViewById(R.id.song);
相册=(TextView)findViewById(R.id.album);
about=(TextView)findViewById(R.id.about);
picc=(相对)findViewById(R.id.picc);
maa.man=ye;
如果(ye==0){
name.setText(“您单击了位置1”);
}否则{
name.setText(“您单击了位置2”);
}
}
}
在putExtra中传递man
的值,同时在mainActivity中设置该类的意图
Class ourClass = Class.forName("com.obi.arinzeapp.Music");
Intent ourIntent = new Intent(MainActivity.this, ourClass);
ourIntent.putExtra("man",man);
startActivity(ourIntent);
在音乐活动中获得额外的奖励
extras = getIntent().getExtras();
newInt= extras.getInt("man");
这是将值从一个活动传递到另一个活动的标准方法。
但是,您可以尝试将
man
设置为静态变量,但不建议这样做。在putExtra中传递man
的值,同时在mainActivity中设置该类的意图
Class ourClass = Class.forName("com.obi.arinzeapp.Music");
Intent ourIntent = new Intent(MainActivity.this, ourClass);
ourIntent.putExtra("man",man);
startActivity(ourIntent);
在音乐活动中获得额外的奖励
extras = getIntent().getExtras();
newInt= extras.getInt("man");
这是将值从一个活动传递到另一个活动的标准方法。
但是,您可以尝试将man
设置为静态变量,但不建议这样做。在设置意图f时,在putExtra中传递man
的值