我正在使用选项卡式布局(使用滑动).这里我有3个选项卡,由SectionsPagerAdapter控制.每个选项卡都是一个ListFragment.
现在,我希望在单击列表中的某个项目时触发事件.我希望每个标签都有一个监听器.
这是现在的代码(哪个不起作用,事件不会被触发).
public class NyhederFragment extends ListFragment {
public static final String ARG_SECTION_NUMBER = "section_number";
private static final String TAG="NyhederFragment";
private List<Item> newsItems;
private ArrayList newsHeadlines;
private ArrayAdapter adapter;
private BroadcastReceiver updateReciever;
public NyhederFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ListView newsList = new ListView(getActivity());
newsList.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
newsList.setId(R.id.list);
DatabaseHelper dbConn = new DatabaseHelper(getActivity());
newsItems = dbConn.getAllItemsFromNews();
newsHeadlines = new ArrayList();
for(Item i : newsItems){
newsHeadlines.add(i.getTitle());
}
adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, newsHeadlines); …Run Code Online (Sandbox Code Playgroud) 在Zwitscher,我有一个ListView显示一些推文.然后用户可以重新加载时间线,如果有新的推文,新列表将加载到列表适配器(加上一些旧的),然后我滚动到列表的末尾
listView.setSelection(x);
Run Code Online (Sandbox Code Playgroud)
x新装载的最早推文的数量在哪里.这非常有效.但不幸的是这种"禁止"的onItemClick(),并onItemLongClick()在视图处理程序.如果我然后(例如从一个按钮)打电话
listView.setSelection(0);
Run Code Online (Sandbox Code Playgroud)
处理程序onItemClick()和onItemLongClick()再次"启用".
我已经验证了调用后仍然在listView上设置处理程序setSelection(x).禁用该调用setSelection(x)也不会"禁用"处理程序.
知道我做错了什么吗?
完整的来源是:https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/TweetListActivity.java,有问题的onPostExecute()行在417号线上
我有一个显示有关玩家信息的活动.这部分工作正常.(我使用了适配器).但是,我应该在哪里放置检测单击行的代码?
PlayersActivity.java
package com.democratandchronicle.billstrainingcamp;
import android.os.Bundle;
public class PlayersActivity extends ListActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_players);
PlayersAdapter adapter = new PlayersAdapter(this);
getListView().setAdapter(adapter);
PlayersFetchTask loadPlayersTask = new PlayersFetchTask(adapter);
loadPlayersTask.execute();
}
}
Run Code Online (Sandbox Code Playgroud)
PlayersAdapter.java
package com.democratandchronicle.billstrainingcamp;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class PlayersAdapter extends BaseAdapter {
private Context context;
private LayoutInflater layoutInflater;
private JSONArray entries = new JSONArray();
private DrawableManager dm; …Run Code Online (Sandbox Code Playgroud)