当我点击edit_remainder
按钮时,我想将我的活动移动到另一个活动。
但是在类扩展ArrayAdapter的地方我不明白如何移动到另一个Activity。
请帮我一个Intent类的例子。
public class mylist extends ArrayAdapter<String> implements OnClickListener
{
private final Context context;
private final String[] values;
Button edit_remainder;
public mylist(Context context, String[] values) {
super(context, R.layout.some, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.buttonadd, parent, false);
edit_remeinder=(Button) rowView.findViewById(R.id.btnEdit);
edit_remeinder.setOnClickListener(this);
return rowView;
}
public void onClick(View v) {
Toast.makeText(getContext(), "hi", 1000).show();
// please enter moving code here
}
}
答案 0 :(得分:0)
如果我理解正确,您希望在用户点击列表项时将控制转移到另一个活动。您需要发出意图。
这是一个教程:http://www.vogella.com/articles/AndroidIntent/article.html
答案 1 :(得分:0)
在这里发布一个明确的意图,如:
Intent i=new Intent(context,anotheractivity.class);
startActivity(i);
这里的上下文可以是应用程序上下文。
答案 2 :(得分:0)
您是否创建了自己的适配器(mylist)? 如果是,则通过调用mylist适配器传递主类中的intent。
答案 3 :(得分:0)
这里我创建了listview,但您可以尝试自己的应用程序。 传递主活动中的意图而不是您自己的适配器。
mainActivity.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lview = (ListView) findViewById(R.id.listView2);
lviewAdapter = new ListViewAdapter(this, month, number); //here ListViewAdapter is my own adapter
System.out.println("adapter => "+lviewAdapter.getCount());
lview.setAdapter(lviewAdapter);
lview.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(this,"Title => "+month[position]+"=> n Description"+number[position], Toast.LENGTH_SHORT).show();
// here your intent code
}
}
请在主要活动中加入此onclick方法,然后重试。
public void onClick(View v) {
Toast.makeText(getContext(), "hi", 1000).show();
// please enter moving code here
}