gpt4 book ai didi

java - Android 对话框不显示

转载 作者:行者123 更新时间:2023-11-30 11:46:02 25 4
gpt4 key购买 nike

谁会想到显示一个对话框会如此困难。在 C# 中,这很容易。我到处寻找帮助,但每条提示似乎都给我带来了麻烦而不是好处。有人可以看看下面的代码并告诉我哪里可能出错了吗?

我想要的很简单。用户点击按钮。然后出现列表。然后用户单击列表中的一项,然后出现对话框。 listview事件中onItemClick中的代码是别人的。它显然适用于那个人。我一直点击但什么也没看到。我愿意接受有关如何修复它或新代码的建议。抱歉,日志中没有错误消息。

请具体说明我将代码放在哪里,因为我是 Android 菜鸟。提前谢谢你!

public class SetPrediction extends Activity
{
Button btnInsrt, btnFTeam, btnSTeam;
ArrayList<NameValuePair> nameValuePairs;
TextView txtGameTeams;
Bundle recdData;
String game;

JSONArray jArray;
String result;
InputStream is;
StringBuilder sb;

ArrayList<String> fNames;
ListView listView;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.set_prediction);

nameValuePairs = new ArrayList<NameValuePair>();
txtGameTeams = (TextView) findViewById(R.id.txtGameTeams);

recdData = getIntent().getExtras();
game = recdData.getString("xxxx.xxxx.xxx");
txtGameTeams.setText("xxxxxxx: " + game + " game.");

btnInsrt = (Button) findViewById(R.id.btnInsert);
btnFTeam = (Button) findViewById(R.id.btnFirstTeam);
btnSTeam = (Button) findViewById(R.id.btnSecondTeam);

btnFTeam.setText(removeSpaces(game.split("vs")[0]));
btnSTeam.setText(removeSpaces(game.split("vs")[1]));

btnSTeam.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
String result = "";
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("players", removeSpaces(game.split("vs")[1])));

fNames = new ArrayList<String>();
listView = (ListView) findViewById(R.id.lstPlayerForPrediction);

//http post
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://xxxxx/getTeamPlayers.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();

BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();

result=sb.toString();
}
catch(Exception e)
{
Log.e("log_tag", "Error in http connection " + e.toString());
}

//parse json data
try
{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++)
fNames.add(jArray.getJSONObject(i).getString("First_Name"));

}
catch(JSONException e)
{
Log.e("log_tag", "Error parsing data " + e.toString());
}

ArrayAdapter<String> adapter = new ArrayAdapter<String>(SetPrediction.this, android.R.layout.simple_list_item_1, fNames);
listView.setAdapter(adapter);

listView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View predictView, int item, long arg3)
{
final CharSequence[] items = {"Online", "Away", "Do not distrub","Invisible","Offline"};
AlertDialog.Builder builder = new AlertDialog.Builder(SetPrediction.this);


builder.setTitle("Change Status");
builder.setItems(items, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item)
{
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});

AlertDialog alert = builder.create();
alert.show();
}
});
}
});
}


public String removeSpaces(String s)
{
StringTokenizer st = new StringTokenizer(s," ",false);
String t="";
while (st.hasMoreElements()) t += st.nextElement();
return t;
}

问题出在 listView.setOnItemClickListener(new OnItemClickListener() 事件中。那部分不起作用。

最佳答案

看看这个:

public void showAlertDialog(String title, String message, Context context)
{
final AlertDialog alertDialog = new AlertDialog.Builder(context).create();

alertDialog.setTitle(title);
alertDialog.setMessage(message);
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
}
});

alertDialog.show();
}

关于java - Android 对话框不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com